InnoDBののインデックスを達成しました

InnoDBの二つのカテゴリーインデックス

  • クラスタ化インデックス(クラスタ化インデックス)

  • 一般的なインデックス(セカンダリインデックス)

リーフノードが格納行InnoDBのクラスタ化インデックスは、従って、InnoDBのでなければならず、唯一のクラスタ化インデックス

テーブルがPK定義されている場合(1)、PKは、クラスタ化インデックスです。

(2)テーブルが定義されていない場合はPKは、最初の列ではなくNULL一意のクラスタ化インデックスです。

(3)そうでなければ、InnoDBは、クラスタ化インデックスとして隠れ行IDを作成します。

ボイスオーバー:だからPKクエリは非常に速く、直接行を配置しました。

InnoDBは、一般的なインデックスのリーフ・ノードを格納し、主キーの値。

VO:注意、その代わりに、記録ヘッドポインタメモリ行、レコードポインタインデックスのリーフノードを格納するのMyISAMの。

次の表の場合:
ユーザー(IDのPK、名前のキー、性別)
前記テーブルは、4件のデータがあります。
1、zhangsan、19
図3に示すように、溶解、22
5、wanger 29
9、mazhi 10

 

 

B +ツリーインデックス2は上に示されています。

PK、クラスタ化インデックスとして(1)ID、リーフノードが格納行。

; KEY、一般的な指標、リーフノードが格納されPK値、すなわち、ID(2)名前

一般的なインデックスが列に直接配置し、そのことはできませんので、クエリ処理の一般的な指標は、どのようにそれのようなものでしょうか?

一般的に、コードは二回、インデックスツリーをスキャンする必要があります。

 

 これは、最初のプライマリキー値を見つけ、その行のレコードを検索、テーブルクエリにコールバックされ、その性能はインデックスツリーの上にスイープよりも低くなっています。

実際の引用:

 

 

 図の組み合わせのインデックス構造:

テーブルT1(INT主キー、B int型、C int型、D INTを、E VARCHAR(20))を作成します。

T1(B、C、D)にidx_t1_bcdインデックスを作成します。

 T1の値は(4,3,1,1、 'D')に挿入します。

T1の値は(1,1,1,1、「」)に挿入します。

T1の値は(8,8,8,8、 'H')に挿入します。

T1の値は(2,2,2,2、 'B')に挿入します。

T1の値は(5,2,3,5、 'E')に挿入します。

T1の値は(3,3,2,2、 'C')に挿入します。

T1の値は(7,4,5,5、 'G')に挿入します。

T1の値は(6,6,4,4、 'F')に挿入します。

 

 

 

おすすめ

転載: www.cnblogs.com/bulrush/p/12535600.html