MySQLは研究ノートのインデックスを終えて

インデックスの概念:

分散指数は、データ構造(検索)ソートする1​​つ以上の列のデータベーステーブルの値に格納されています

なぜインデックスを使用

  1. データの索引付けの量を大幅にスキャンするストレージエンジンを低減することができます
  2. インデックスは、ランダムIO IOのためになることがあり
  3. インデックスは、グループ化操作をソートする私たちを助けることができる場合は、一時テーブルの使用を避けます

クラスタ化インデックス:

論理的なデータ(インデックス)を有するデータベーステーブル内の行の物理的な順序は、シーケンスキーと同じです

主キー索引にセカンダリインデックスの終わり、その後、主キーのインデックスの値を探してください

InnoDBはデフォルトでインデックス付けされていない場合、暗黙の主キーインデックス6ビットを作成します。

限りインデックスが連続的であるように、記憶媒体上のデータ格納場所はまた、連続的です

 

共同インデックス

たとえば、インデックスの作成は、[名前、電話]

  1. 多くの場合、列優先で使用される [ 左端の費用収益対応の原則]
  2. 選択優先度の高い [ 離散高い原理]
  3. 小列幅 [ 空間原則の最小値]

離散列:

 カウント(個別の列):数(列)

大きな比より良好な分散、より良い、より良い選択離散

左端の費用収益対応の原則 

キーワードインデックスが算出され、左から右に一回行わなければならない、とスキップすることはできません

インデックスをカバーします:

クエリを直接データベースに減らすことができたinodeのキーワードでLEK返す場合は IOを、ランダムIOはシュンとなっ IOをクエリを向上させます、

索引の指定:

  1. 少し少なめとしてインデックス列のデータ長。
  2. インデックスが必ずしも良いとは限りません、より良い、より完全な、我々は、適切な、大きすぎないフィールドを構築する必要があり、例えば、PHONENUMに11あります
  3. インデックスの構築は、フィールドが空であることはできません。
  4. 999パーセントのようにインデックスにマッチしたプレフィックスに利用可能
  5. 条件は中と<>インデックスを使用することはできませんれていない場合は
  6. 値のマッチング範囲は、ORDER BYは、インデックスに使用することができます
  7. あなたがしたいだけのデータ列を返す多目的指定した列のクエリは、*以下の選択を使用します

 

 

 

 

おすすめ

転載: www.cnblogs.com/weijianxing/p/11586703.html