カバーインデックスとは何ですか?クエリで使用されるすべてのフィールドを含むインデックスを作成することを、カバーリング インデックスと呼びます。 カバーリング インデックスを使用すると、MySQL はインデックスを使用してデータを処理した後にテーブルを返す操作を実行する必要がなく、クエリに必要なデータを検索して返すためにインデックスを使用するだけで済みます。 カバーインデックスを使用すると、クエリ作業を一度に完了できるため、IO が効果的に削減され、クエリの効率が向上します。 使用例クエリステートメント: test_table から col2、col3 を選択し、col1 = xxx で col2 を ORDER BY します。 単一列のインデックスを作成します。 ALTER TABLE `test_table` に BTREE を使用して INDEX `idx_col1`(`col1`) を追加します。 分析クエリ: EXPLAIN SELECT SQL_NO_CACHE col2, col3 FROM test_table WHERE col1 = xxx ORDER BY col2; 結果: col1 のインデックスを作成した後、タイプは ref になり、idx_col1 インデックスが使用されます。 インデックスを変更し、クエリ ステートメントに基づいて結合インデックスを作成します。 テーブル `test_table` を変更し、インデックス `idx_col1` を削除します。 ALTER TABLE `test_table` ADD INDEX `idx_col1_col2_col3`(`col1`, `col2`, `col3`) USING BTREE; 分析クエリ: EXPLAIN SELECT SQL_NO_CACHE col2, col3 FROM test_table WHERE col1 = xxx ORDER BY col2; 結果: 結合インデックスが作成されると、type は ref、idx_col1_col2_col3 インデックスが使用され、Extra は Using index となり、カバー インデックスが使用されていることが示されます。 MySQLのカバーインデックスとジョイントインデックスの違いカバーリング インデックスとは、主キー リストの列のみをクエリするなど、クエリ対象の列をインデックスを通じて直接抽出できることを意味します。または、結合インデックスのすべての列、または左から始まるいくつかの列をクエリします (順序どおりであることに注意してください)。 結合インデックスは必ずしもインデックスからすべてのデータを取得するわけではありません。これはクエリする列によって異なります。たとえば、select * from table where ××××××; という方法は、カバーリングインデックスになる可能性は低いです。したがって、クエリする列で結合インデックスを使用でき、クエリする列を結合インデックスを通じて取得できる場合、たとえば、結合インデックスが配置されている列のみ、または左から始まる列の一部のみをクエリする場合、これはカバーリング インデックスと同等です。通常、クエリがカバーリング インデックスを使用できるようにするには、クエリ対象のデータの複数の列を結合インデックスとして設定します。 要約するMySQL カバーリングインデックスの使用に関するこの記事はこれで終わりです。MySQL カバーリングインデックスに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Kylin V10 サーバーで Storm をコンパイルしてインストールする詳細なプロセス
Linux インストール MySQL ノート1. MySQL データベース サーバーをインストールす...
昨日、ある人のシステムのインストールを手伝ったのですが、自動パーティション分割をクリックするのを忘れ...
0. はじめに2016 年 8 月 18 日 今日、iPhone をスライドさせてロックを解除すると...
プロジェクトでは、フォーム テストが頻繁に発生します。単一のフォーム テストについては、詳細な紹介が...
目次1. 完全なSQLクエリステートメントの記述順序2. 完全なSQL文の実行順序3. select...
この記事では、指定された赤い封筒の順序と金額を実装するためのjsの具体的なコードを共有します。具体的...
1. nginxシェルスクリプトを保存するフォルダを作成する /usr/local/タスク/ngin...
データベースでは、UNION キーワードと UNION ALL キーワードの両方が 2 つの結果セッ...
この記事では、デジタル時計効果を実現するためのJavaScriptの具体的なコードを参考までに紹介し...
問題を見つける以前、簡単なデモを書いたのですが、IE10以下では動作しないことがわかりました。ここに...
私は長い間PHPに触れてきましたが、インストール環境は非常に不慣れです。多くの問題に遭遇しました。B...
ハードディスクのファイル属性のバッチ表示など、特定の種類のファイルに対してバッチ操作を実行する場合、...
1. 設置環境Windows7 で MySQL5.6 データベースの解凍バージョンをアンインストー...
MySQLのスイッチングデータ保存ディレクトリの実装方法今日、仕事中に、mysql が保存されている...
目次1. Nginx の紹介2. 画像サーバーの構築1. Nginx の紹介Nginx はリバース ...