1. クラスター化インデックス テーブル データはインデックスの順序で保存されます。つまり、インデックス項目の順序は、テーブル内のレコードの物理的な順序と一致します。クラスター化インデックスの場合、リーフノードには実際のデータ行が格納され、個別のデータ ページは存在しません。 実際のデータには物理的な順序が 1 つしか存在しないため、テーブルに作成できるクラスター化インデックスは最大で 1 つだけです。 物理ファイルからも、InnoDB (クラスター化インデックス) のデータ ファイルには、データ構造ファイル .frm とデータ ファイル .idb のみがあることが分かります。データとインデックス情報は、.idb に一緒に保存されます。 2. 非クラスター化インデックス テーブルデータが格納される順序は、インデックスの順序とは関係ありません。非クラスター化インデックスの場合、リーフ ノードにはインデックス フィールド値とデータ ページのデータ行への論理ポインターが含まれ、行数はデータ テーブル内のデータ量と一致します。 物理ファイルからも、MyISAM (非クラスター化インデックス) インデックス ファイル .MYI とデータ ファイル .MYD が別々に保存されており、比較的独立していることがわかります。 要約: クラスター化インデックスと非クラスター化インデックスの違いは次のとおりです。 クラスター化インデックス (innoDB) のリーフ ノードはデータ ノードです。 非クラスター化インデックス (MyISAM) のリーフ ノードは依然としてインデックス ファイルですが、インデックス ファイルには対応するデータ ブロックへのポインターが含まれています。 非クラスター化インデックスの場合、インデックスを通じて必要な行番号を取得するたびに、リーフ上のディスク アドレスを通じてディスクからデータを取得する (行を返す) 必要があり、時間がかかります。データの取得時間を最適化するために、InnoDB エンジンはクラスター化インデックスを使用します。 これにより、戻り操作による時間の消費を回避できます。 これにより、一部のクエリでは InnoDB が MyISAM よりもさらに高速になります。 ps. クエリ時間に関しては、MyISAM はパフォーマンスのために機能を犠牲にしており、クエリが高速であると一般に考えられています。しかし、必ずしもそうとは限りません。ほとんどの場合、MyISAM は InnoDB よりも高速です。ただし、クエリ時間は多くの要因によって影響を受けます。 InnoDB クエリが遅くなる理由は、トランザクションやロールバックなどをサポートしているため、InnoDB のリーフ ページには実際にはトランザクション ID (つまり、バージョン番号) とロールバック ポインターが含まれているからです。
つまり、クラスター化インデックスは、頻繁に更新される列、頻繁に変更されるインデックス列、および少数の固有値には適していません。 以上がMySQLのクラスタ化インデックスと非クラスタ化インデックスの詳細な説明です。MySQLのクラスタ化インデックスと非クラスタ化インデックスの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: DockerHubイメージリポジトリの使い方の詳しい説明
>>: Typescript+React でモバイルと PC でシンプルなドラッグ アンド ドロップ効果を実現
この記事ではMySQL 8.0.24バージョンのインストールと設定方法を記録し、皆さんと共有しますM...
この記事では、期間限定フラッシュセール機能を実装するためのJavaScriptの具体的なコードを参考...
目次1. Vueの初期化vue エントリ ファイルフルバージョンとランタイムバージョンの違い1.1、...
表示する svg 画像を追加すると、React はファイルが見つからないというメッセージを表示します...
序文PC サーバーは今日まで発展を続け、パフォーマンスにおいて大きな進歩を遂げてきました。 64ビッ...
目次1. JavaScriptの基礎2. 基本的なJavaScript構文3. JavaScript...
1. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...
今日は、興味深いトピックについてお話ししましょう。データベースとテーブルを分割することを検討する前に...
目次1.スリープ機能2.タイムアウトを設定する3. 約束4. 非同期待機5. 1秒後に出力1、2秒後...
背景:場合によっては、json データをページに直接表示する必要があります (たとえば、インターフェ...
目次質問:プロジェクトには 2 つのトークンがあり、1 つは有効期間が 2 時間 (ショート トーク...
今日も Watch アプリのデザインに関する話です。私はケーススタディが大好きなので、同じトピックを...
目次序文1. vue-cliを使う1. Toastコンポーネントを定義する2. main.jsで設定...
Nestjs 例外フィルターといえば、非常に強力な .Net のグローバル フィルターについて触れな...
目次1. 技術の選択2. 技術的な実装vue-json-excelプラグインを使用して実装1. vu...