ホームページ >データベース >mysql チュートリアル >MySQL の結合インデックスを深く理解し、単一列インデックスとの違いを確認します。
この記事では、MySQL の結合インデックスについて理解し、結合インデックスの作成と削除の方法を紹介し、結合インデックスの落とし穴、結合インデックスと単一列インデックスの違い、および結合インデックスの利用シーンを紹介しますので、皆様のお役に立てれば幸いです。
mysql ビデオ チュートリアル ]
たとえば、インデックスはkey Index (a,b,c) で、
a | a をサポートできます。 ,b| a ,b,c 3 つの組み合わせが検索に使用されますが、
b,c は検索ではサポートされていません。使用する場合、
a、c の組み合わせも使用できますが、実際にはインデックス
のみが使用されます。複合インデックスを作成します
-- 普通的组合索引 create index index_name on table_name (column1, column2, ...) -- 组合要求唯一的索引,相比与上一种,多出了 【unique】关键字 create unique index index_name on table_name (column1, column2, ...)
#複合インデックスの削除#
-- 用法 1 drop index index_name on talbe_name -- 用法 2 alter table table_name drop index index_name -- 用法 3,对 2 的包装 alter table table_name drop primary key#単一列インデックス トラップ
図に示すように、2 つのインデックスを作成し、実行からクエリを実行する場所に と
を使用しました。 計画によると、最初の条件のインデックスのみが使用され、後続のインデックスは直接無視されます。複合インデックス トラップ図に示すように、ここで複合インデックスを作成します。 ,b,c
b,a,c
です。mysql は条件シーケンスをa に自動的に処理します。 b, c を使用し、定義された結合インデックス
上の図のクエリ条件は
b,a
a,b で、結合インデックス
上の図のクエリ条件は
b,c
条件付きカラムとして、mysql は複合インデックスを使用しません
単一カラム インデックスと単一カラム インデックスの違い左の原則から、結合インデックス内の列の順序は非常に重要です。
and
が使用されている場合。ジョイント インデックスは、一定量のディスク領域を占有し、一定量のオーバーヘッドがあることを意味するため、単一インデックスよりも適しています。多くの場合、結合インデックスは複数の列にインデックスを構築するのと同等であり、構築されるのは 1 回だけであるため、条件下で非常に適しています。
以上がMySQL の結合インデックスを深く理解し、単一列インデックスとの違いを確認します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。