■インデックス作成
CREATE INDEX [IndexName] ON [TableName] ([ColName]);
■インデックス削除
DROP INDEX [IndexName];
■複合インデックス
CREATE INDEX [IndexName] ON
[TableName] ([ColName1],[ColName2]);
高速化される検索例
SELECT * FROM [TableName] WHERE [ColName1] = x AND [ColName2] = y;
SELECT * FROM [TableName] WHERE [ColName1] = x;
高速化されない検索例
SELECT * FROM [TableName] WHERE [ColName1] = x OR [ColName2] = y;
SELECT * FROM [TableName] WHERE [ColName2] = y;
※後方一致はNG
■部分インデックス
CREATE INDEX [IndexName] ON
[TableName]([ColName]) WHERE
[ColName] > x;
■INDEXにあわせてテーブルを並び替える
CLUSTER
CLUSTER [IndexName] ON
[TableName];
※2回目以降はインデックス名はなくてもよい。
※テーブル名を指定しないとDB全体が対象となる。
※テーブル更新時並び替えはくずれるので、その場合定期的に実行する。