インデックスのデータ構造(ハッシュ、B +ツリー)

インデックスの分類のデータ構造

  • ハッシュ
  • B +ツリー

二つ。ハッシュ

  1. 無秩序なハッシュテーブル
    はじめに[機能]:障害はすぐにハッシュテーブルが正確な照会することができますが、範囲クエリをサポートしていませんが。順序付けられていないハッシュテーブルのインデックスは、データのすべてが非常に遅いクエリで得られた、走査される場合、
    []の使用シナリオ:同等のクエリを、そのようなキー値のシナリオ:のRedis。

  2. 注文したハッシュテーブルは、
    [機能]はじめに:静的なデータのハッシュテーブルクエリを命じました。データは、その構造を変更した場合、削除、変更を追加した場合。以下のような:増加操作のすべてのノードがシフトした後、新たなポジションを持った後とき、コストが高いです。
    [用途]シーン:同等のクエリは、クエリの範囲です。これは、静的なデータの保存、静的なストレージエンジンとして使用することができます。以下のような:淘宝網の法案。

三。B +ツリー

  1. Bツリーの
    ノードは、複数の要素を格納することができ、ツリーは、Bツリーよりも高い完全ディスクIOの効率を向上させ、全体の二分木の高さをバランスされます。

  2. B +ツリーは、
    [機能]はじめに:B +ツリーは、Bツリーの変更があります。非リーフノードが効率範囲のルックアップを増やす、データ・レコードのうち、すべての葉ノードがリーフノードに格納されているポインタのチェーンがある、唯一の鍵情報を格納します。
    ここに画像を挿入説明
    使用シナリオ]:MySQLのインデックスがディスクIOとクエリ索引範囲クエリの効率を改善するためにB +ツリーを使用します。

    [注]:B+树中一个节点为页的倍数最为合适,不是页的倍数会造成资源的浪费。

公開された70元の記事 ウォンの賞賛4 ビュー6379

おすすめ

転載: blog.csdn.net/qq_44837912/article/details/104360465