何インデックスさ:インデックスフィールドに格納された値とインデックスフィールドのクエリを使用して、ソートの物理アドレスに対応するデータのリストがあり、ストレートインデックステーブルによって物理アドレスに対応転用データに、テーブル全体の一致をスキャンして、対応を見つけることができません。データ;
利点は:、Bの+、I / O操作の削減のインデックス番号を使用して、検索効率を上げることで実現
欠点を:追加、削除、追加のディスク領域の必要性を、変更操作が追加の持っている
分類:
- プライマリキーインデックス、すなわち、主キー
- ユニークなインデックスフィールドは、唯一の制約がすでに存在している、または表table_nameがユニークINDEX_NAME(「列」)を追加変更したときに設定されています。
- 通常のインデックスフィールドでの一般的なインデックステーブル:テーブルtable_nameはインデックスindex_nameの(「列」)を追加変更します。 コンポジットインデックス:
- 指標として複数のフィールドの組み合わせ:表table_nameインデックスINDEX_NAME(「columnA」、「columnB」、「columnC」)を追加する変更;
- またはインデックスとして複数のフィールドの最初の数文字が:テーブルtable_nameインデックスINDEX_NAMEを追加変更( "columnA(3)"、 "columnB(4)"、 "columnC(5)"); // 3三つのフィールドの前に、指標として4,5文字
- 検索フィールドの使用頻度によって並べ替えられ、「最も左接頭辞」をフォローしない、高周波放電が左;直接columnB、columnC何の効果指標
- フルテキストインデックス:
- 创建:フルテキストインデックスINDEX_NAME(「列」)を追加TABLE_NAMEテーブルを変更します。
- 查询:( "XXX")に対して、テーブルマッチ(INDEX_NAME)から選択*;
データ構造:
WHERE index_column =「中国」タブSELECT * FROM;番号、index_columnのインデックスデータは、緑のフィールドがあることがある、文字列ができ、データはラインに対応したデータです。
Indexフィールド:図ではPxの。
なぜBの+ツリー(個人の理解)
- バイナリに対して:多くの子ノードが存在するが、バイナリツリーの各ノードは最大で2つのつの子ノードを有し、単一のBツリーノードクラスは、読み取りの/ IO有意に減少した数(十分に理解されていない、インデックスを決定し、高さを低く、多くのキーワードを収容することができデータ自体は)ハードもあります
- B-の数に関して:B +唯一の非子ノードのインデックス番号を維持し、データを直接インデックスデータを読み出すだけ代わりに、存在しない、消費少ないIO;非子ノードポインタと子ノードの数のB +ツリー数が等しいキーです、同じデータ量、B +は、IOを低減する、より短いの高い数を予約する場合
B-ツリー: