- 主キー索引
プライマリキーインデックスは、インデックスをクラスタ化された各テーブルには、1つ以上のフィールドによって、唯一の主キーを持っています。
三つの条件の主キーインデックス:1.キーが主キーはヌル値プライマリ・キーが確保され2. 3.を含むことができない一意でなければならない自己増力
も順次に書き込まインクリメントすることができる自動インクリメントの主キーを、ストレージ効率を向上させることができます
構文:
alter table table_name add primary key(column_name);
主キーの複数のフィールド
alter table table_name add primary key(column_name1,column_name2);
- インデックスのみ
一意のインデックス制約(制約がNULL値でない、等、繰り返すことができない)条件は、値が重複することはできないですが、NULL値を持つことができ、テーブルが1つのプライマリキーを持つことができるが、一意のインデックスを複数持つことができ。
構文:
alter table table_name add unique (column_name);
- インデックスをカバー
被覆インデックスは同じを意味しすぎてデータを操作することにより、バックテーブルに使用するインデックスによってカバーされるというクエリ列を取得する必要はありません、インデックスファイルに必要なクエリデータを返すことができます。インデックスフィールド対象とする分野は、インデックスは、すべてのデータのクエリが探している含まれている、つまり、クエリに関与していることが起こる。、I / O操作の数を減らして、クエリの効率を向上させます
例:表Aは、IDを照会するために、名前で名前のフィールドを主キーのIDを持っています
select id from A where name='张三' ;
既知の一般的な指標である(主キー - インデックスフィールド)、ストレージ、主キーの一般的なインデックスフィールドのラインデータに目を通すことを考える逆に、我々は、名前の検索時間で、主キーIDを持って来るために通常のインデックス、その名のフィールドに変更した名前これは、直接、主キーIDを取得することができます。このデータはインデックスファイルから直接照会することができます。これは、インデックスで覆われています。同様に複数のフィールドクエリはまた、関節インデックスに設定することができます。
注意:必要に応じて選択リストの列を聞かせてください、この操作は発生しません*を選択し、インデックスが無効であるかどうか。