ホームページ >データベース >mysql チュートリアル >MySQL の結合インデックスを深く理解し、単一列インデックスとの違いを確認します。

MySQL の結合インデックスを深く理解し、単一列インデックスとの違いを確認します。

青灯夜游
青灯夜游転載
2021-11-03 19:28:157171ブラウズ

この記事では、MySQL の結合インデックスについて理解し、結合インデックスの作成と削除の方法を紹介し、結合インデックスの落とし穴、結合インデックスと単一列インデックスの違い、および結合インデックスの利用シーンを紹介しますので、皆様のお役に立てれば幸いです。

MySQL の結合インデックスを深く理解し、単一列インデックスとの違いを確認します。

#複合インデックスとは

2 つ以上の列のインデックスは結合インデックスと呼ばれ、結合インデックスはそれは複合インデックスと呼ばれます。 [関連する推奨事項:

mysql ビデオ チュートリアル ]

たとえば、インデックスは

key Index (a,b,c) で、a | a をサポートできます。 ,b| a ,b,c 3 つの組み合わせが検索に使用されますが、b,c は検索ではサポートされていません。使用する場合、a、c の組み合わせも使用できますが、実際にはインデックス

MySQL の結合インデックスを深く理解し、単一列インデックスとの違いを確認します。 のみが使用されます。複合インデックスを作成します

-- 普通的组合索引
create index index_name on table_name (column1, column2, ...)
-- 组合要求唯一的索引,相比与上一种,多出了 【unique】关键字
create unique index index_name on table_name (column1, column2, ...)

#複合インデックスの削除MySQL の結合インデックスを深く理解し、単一列インデックスとの違いを確認します。#

-- 用法 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 つのインデックスを作成し、実行からクエリを実行する場所に MySQL の結合インデックスを深く理解し、単一列インデックスとの違いを確認します。

を使用しました。 計画によると、最初の条件のインデックスのみが使用され、後続のインデックスは直接無視されます。

MySQL の結合インデックスを深く理解し、単一列インデックスとの違いを確認します。

複合インデックス トラップ

図に示すように、ここで複合インデックスを作成します。 ,b,c

上の図の条件付きクエリは

b,a,c

です。mysql は条件シーケンスを

a に自動的に処理します。 b, c MySQL の結合インデックスを深く理解し、単一列インデックスとの違いを確認します。 を使用し、定義された結合インデックス

上の図のクエリ条件は b,a

です。同様に、mysql は条件の順序は

a,bMySQL の結合インデックスを深く理解し、単一列インデックスとの違いを確認します。 で、結合インデックス

上の図のクエリ条件は b,c

です。明らかに、 # が使用されていないためです ##a

条件付きカラムとして、mysql は複合インデックスを使用しません MySQL の結合インデックスを深く理解し、単一列インデックスとの違いを確認します。

単一カラム インデックスと単一カラム インデックスの違い左の原則から、結合インデックス内の列の順序は非常に重要です。

単一インデックスは 1 つずつ機能します。つまり、3 つの単一インデックスがあり、どの条件クエリが最初に機能し、他の条件クエリは機能しません。

結合インデックス使用シナリオ

条件が頻繁に発生し、現在のテーブルの数が比較的多い場合。

ここで、条件で
    or
  • の代わりに

    and

    が使用されている場合。
  • ジョイント インデックスは、一定量のディスク領域を占有し、一定量のオーバーヘッドがあることを意味するため、単一インデックスよりも適しています。多くの場合、結合インデックスは複数の列にインデックスを構築するのと同等であり、構築されるのは 1 回だけであるため、条件下で非常に適しています。

    プログラミング関連の知識について詳しくは、
  • プログラミング ビデオ
  • をご覧ください。 !

以上がMySQL の結合インデックスを深く理解し、単一列インデックスとの違いを確認します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.cnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。