インデックス作品

クラスタ化インデックス

InnoDBテーブル各々は、このインデックスは、一般的に、クラスタ化インデックスがマスターキーに基づいて生成された列に格納され、インデックスは、クラスタ化インデックスを求めています。ために、高性能のクエリ、挿入、および他のデータベース操作を得るためにInnoDBのクラスタ化インデックスを理解することが必要です。

次の規則に従って作成されたクラスタ化インデックス:

  • 主キーが定義された場合、InnoDBはその主キークラスタ化インデックスを生成するために使用します。
  • 主キー場合は、InnoDBはクラスタ化インデックスに空でない一意のインデックスを選択します。
  • そうでない場合は、暗黙のInnoDBは、クラスタ化インデックスに自動インクリメント列を作成します。

クラスタ化インデックスが一体B +ツリーのリーフノードが非キーリーフノードに格納されているテーブル内のデータを決定し、ページデータが呼び出され、データ列に格納され、インデックスクラスタリングデータページの一部であります連結することによって二重リンクリストの間、B +ツリーは、バランスのとれた探索木、すなわちクラスタ化インデックスのデータストアが順序付けされるが、順序付けられた論理的、物理ストレージは非常に遠くに実際に分離することが可能ですそれはページ間の双方向リンクリストデータによって接続されているため、物理ストレージがシーケンシャルである場合、は、クラスタ化インデックスのメンテナンスコストが非常に高いです。

セカンダリインデックス

また、クラスタ化インデックスのインデックスにインデックスキーのクラスタ化インデックス補助リーフノードは、プライマリ・キーに格納される差分と、セカンダリインデックスと呼ぶことができます。テーブルは、複数のセカンダリインデックスとすることができるが、唯一のクラスタ化インデックスが存在することができます。

セカンダリインデックス、2つの工程で必要によりレコードに対応する行を見つけるために、最初のステップは、一次インデックスに対応する補助キーによって決定され、対応する主キーの値を通る線に対応するクエリクラスタ化インデックスレコードの第2ステップ、及びそれは二度B +ツリー検索です。セカンダリインデックスの主キーによって、クエリとは対照的に、二次インデックスをトラバース主キーを決定することができ、それは、(クラスタ化インデックスを照会していない)、バックテーブルにいわゆるインデックス被覆ではありません。

セカンダリインデックスを作成し、索引を作成するには、フィールドで、つまり、別のインデックスを作成することができ、あなたはまた、共同副指標として知られているインデックスを作成するために、複数のフィールドを使用することができます。

その大きさは、クラスタ化インデックスよりもはるかに小さいので、インデックス・カバーリングの利点は、行を除くセカンダリインデックスで、セカンダリインデックスを使用してクエリがIO操作の多くを減らすことができ、二次インデックスは概念をカバーするインデックスでもあります。

インデックスの原則を創設

左端の原則

参考:「ハイパフォーマンスMySQLの第三版」

オリジナル:大列  インデックス作品


おすすめ

転載: www.cnblogs.com/chinatrump/p/11588816.html