どのようなMySQLのインデックス

どのようなサポートMySQLのインデックスの種類

データ構造の観点から

。1、B +ツリーインデックス(O(ログ(N)) ): B +ツリーインデックスについては、データ構造及びアルゴリズムの背後にある原理のMySQLインデックス参照することができる
2、ハッシュインデックス:
Aは、 "="、 "IN"と「を満たします< =>「クエリ、あなたは範囲クエリを使用することはできません
位置付けたら、検索効率が非常に高いB、インデックスは、分岐ノードへのルートからB-Treeインデックスのニーズ、そして最後に、このページへのアクセスに何回IOアクセスノードとは異なり、取得することができますインデックスB-Treeインデックスよりもはるかに高いので、ハッシュ・クエリ効率
専用メモリストレージエンジンハッシュインデックス表示支持C
3、FULLTEXTインデックス(MyISAMテーブルとInnoDBのエンジンは現在サポート)
。4、R&LTツリー索引(GISデータ型の)空間インデックスを作成します

物理ストレージの観点から

図1に示すように、クラスタ化インデックス(クラスタ化インデックス)
2、非クラスタ化インデックス(非クラスタ化インデックス)

論理的に

図1に示すように、主キーインデックスは:主キーインデックスは、一意のインデックスの特別な種類であり、ヌル可能にする
2を、通常の指標、又は別のインデックス
3、複数列インデックス(複合インデックス)は:のみ、複数のフィールド上に作成されたインデックス、複合インデックスを参照インデックスを作成するときに、最初のフィールドで使用されるクエリは、インデックスが使用されます。フォロー左端の接頭辞複合インデックスを使用して設定
4、一意の索引または非一意のインデックス
5、空間インデックス:空間インデックスは4、すなわちGEOMETRY、POINTがあるMySQLで空間データ型を確立し、空間データ型のフィールドのための指標です、LINESTRING、POLYGON。MYSQLは、空間インデックスを作成するための構文を作り、SPATIALキーワード展開を使用して定期的なインデックス・タイプを作成するために使用することができます。空間インデックスの列を作成し、その宣言は、NOT NULL、テーブルMYISAMのための空間インデックスのみストレージエンジンとして作成する必要があり
、CREATE TABLE table_nameの[COL_NAMEタイプのデータ]
[インデックス|キー] [index_nameの] [| | FULLTEXT空間UNIQUE] (COL_NAME [長さ])[ASC | DESC]
1、ユニーク| FULLTEXTは|空間は一意のインデックス、テキストおよび空間インデックスを表し、任意である。
2、およびインデックスキーは同義であり、どちらも同じ効果があり、指定し索引を作成する
。3、データテーブルに定義された複数の列から選択されなければならないインデックスフィールドの列を作成するCOL_NAMEニーズ;
4、指定されたインデックスINDEX_NAMEの名前は、任意であり、指定されていない場合、デフォルトのMySQLベースのCOL_NAMEでありますインデックス値;
5、インデックスの長さを指定するために、唯一の文字列型のフィールドをインデックスの長さを示すパラメータオプションの長さ;
6、またはASCとDESCは、昇順または降順に格納されたインデックス値を指定

おすすめ

転載: www.cnblogs.com/weigy/p/12578724.html