インデックスの分類のデータ構造
- ハッシュ
- B +ツリー
二つ。ハッシュ
-
無秩序なハッシュテーブル
はじめに[機能]:障害はすぐにハッシュテーブルが正確な照会することができますが、範囲クエリをサポートしていませんが。順序付けられていないハッシュテーブルのインデックスは、データのすべてが非常に遅いクエリで得られた、走査される場合、
[]の使用シナリオ:同等のクエリを、そのようなキー値のシナリオ:のRedis。 -
注文したハッシュテーブルは、
[機能]はじめに:静的なデータのハッシュテーブルクエリを命じました。データは、その構造を変更した場合、削除、変更を追加した場合。以下のような:増加操作のすべてのノードがシフトした後、新たなポジションを持った後とき、コストが高いです。
[用途]シーン:同等のクエリは、クエリの範囲です。これは、静的なデータの保存、静的なストレージエンジンとして使用することができます。以下のような:淘宝網の法案。
三。B +ツリー
-
Bツリーの
ノードは、複数の要素を格納することができ、ツリーは、Bツリーよりも高い完全ディスクIOの効率を向上させ、全体の二分木の高さをバランスされます。 -
B +ツリーは、
[機能]はじめに:B +ツリーは、Bツリーの変更があります。非リーフノードが効率範囲のルックアップを増やす、データ・レコードのうち、すべての葉ノードがリーフノードに格納されているポインタのチェーンがある、唯一の鍵情報を格納します。
使用シナリオ]:MySQLのインデックスがディスクIOとクエリ索引範囲クエリの効率を改善するためにB +ツリーを使用します。[注]:
B+树中一个节点为页的倍数最为合适,不是页的倍数会造成资源的浪费。