インデックスは、作品とMySQL / MariaDBのデータベースを最適化
著者:殷Zhengjie
著作権:オリジナルの作品は、転載を避けました!それ以外の場合は、責任を負いません。
実用的な作業指数は、この技術は、サーバのパフォーマンスに影響を与える非常に重要な指標であるので、我々は、インデックスの関連する特性を見て時間を取らなければなりません。
I.概要インデックス
1>インデックスとは何ですか
インデックスは、フィールドを探していたときに、特別なデータ構造はまた、MySQLのキーでキーとして知られている、検索条件として定義されているストレージエンジンによって達成指標です。
インデックスのパフォーマンスは、我々はインデックスを利用する必要がインデックスを使用して、ことのヒントになることを意味するものではありませんで、正しい方法でのインデックスは、不適切な使用は、実際には、サーバーのパフォーマンスを減らすことができます。
2>。インデックスアドバンテージ
インデックスはIOの数削減、サービスをスキャンする必要があるデータの量を減らすことができます
並べ替えを避けるのを助けることができるインデックスサーバーを、一時テーブルを使用する
インデックスはランダムI助けることができる/ Iの順にOを/ O
欠点3>インデックス
挿入の速度に影響を与え、余分なスペースを取って
II。インデックスタイプ
B + 木、ハッシュツリーR&LT クラスタ(集合)インデックス、非クラスタ化インデックス:
データとインデックスが一緒に格納され 、主キーインデックス、2つ(二次)指数 :稠密索引、スパースインデックス
各データ項目がインデックス付けするかどうかを 簡単インデックス、複合インデックス: 左プリフィックス索引:前の文字インデックスを作成取る カバーインデックスを:照会するデータをインデックスから削除することができ、高いパフォーマンス
1>。バイナリツリー
(1 )ノードのサブツリーごとに2つの最大 2つのノードよりも高い程度のバイナリが存在しないことを。 (2 )それが順序で、順序を交換することができない順序木、左部分木、右部分木である (3 ツリーノードが一つだけの子供を持っていますが、またそれはまだサブツリー右部分木を残していることを確認した場合でも) (4 )二分木種の基本形態 1 )空のバイナリ 2 )唯一のルート 3 )だけ左サブツリーのルートノード 4 )だけ右サブツリーのルート 5 の左の部分木のルート及び右サブツリーを有する) 推奨ブロガー読み: HTTPS:// baike.baidu.com /項目/% E4 %の BAの% 8Cの。% E5は、% 8Fの%89 % E6は% A0は%91 HTTPS:// www.cnblogs.com / yinzhengjie / P / 10960896の.html
(自己均衡二分木として知られている)2>。赤黒木
ブロガー推奨読書: HTTPS:// baike.baidu.com /項目/% E7の%の BAの% A2 % E9の% BB %91 % E6 % A0の%91
3> .B-treeインデックス(Bツリー(マルチパス探索木がバイナリではない)の
B -ツリー(複数の探索木ではなく、バイナリ)が共通のデータ構造です。Bを使用する- プロセスの中間位置履歴がアクセス速度を高速化従って、経験ときにツリー構造を大幅に低減することができます。翻訳によると、Bのバランスは通常は短いと考えられています。このデータ構造は、一般に、インデックスデータベース、より高い全体的な効率が使用されます。 ブロガー推奨読書: HTTPS:// baike.baidu.com /アイテム/ B -ツリー/ 6606402 FR?=アラジン
4> .B +ツリー
Bの+のツリーは、ツリーデータ構造、通常はデータベースおよびオペレーティング・システムのファイル・システムです。B +特性データツリーは、ペアの数のより安定挿入及び変更時間複雑性を有し、安定して秩序を維持することができます。B + ツリー要素は単に反対バイナリツリーであるボトムアップから挿入されています。 ブロガー推奨読書: HTTPS:// baike.baidu.com /項目/ B +% E6は% A0の%91 / 7845683
5> .Hashインデックス
6>。
7>。
8>。
III。
IV。
V.