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 でシンプルなドラッグ アンド ドロップ効果を実現
W3C 標準化プロセスは 7 つの異なるステップに分かれています。 W3C 標準化プロセスは 7 つ...
この記事の例では、ログイン機能を実現するためのvue+springbootの具体的なコードを参考まで...
目次定義2. 使用シナリオ3. 例を挙げる4. コーディング定義オブザーバー パターンは 1 対多の...
さっそくAlibaba の oracle11g イメージをプルして構成する docker の記録を開...
1. mysqlの圧縮パッケージを/usr/localフォルダに解凍し、名前をmysqlに変更します...
序文:最も一般的に使用される MySQL 論理バックアップ ツールは mysqldump です。通常...
このブログでは、Docker をインストールするプロセスを簡単な手順で説明します。Docker のイ...
問題の説明Windows Server 2012 R2 または Windows Server 201...
GtkTreeView コンポーネントは、美しい通常のリストやツリーのようなリストを作成できる高度な...
1. シェルスクリプトを作成する vim バックアップdb.sh 次のようにスクリプトを作成します。...
1. instanceofの使用法instanceof演算子は、コンストラクター関数のprototy...
乱雑なログ日常的に使用される Nginx は、静的リソース サーバーとリバース プロキシ サーバーの...
区切り文字なしの文字列抽出質問の要件データベース内のフィールド値:実装効果: 1行のデータを複数行に...
この記事では、ウィンドウ表示効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...
ブロックレベル要素の機能: • 常に新しい行から始まり、それ自体で 1 行を占め、後続の要素も新しい...