インデックスの種類と用途 その他インデックスに関すること

高速な検索処理のためには、インデックスが必要。用途に応じて適切なデータ項目を設定する。

CREATE INDEX インデックス名
on テーブル名(カラム名)

上記のような形でインデックスをつけることができる。しかし、インデックスには何種類かあるのだけど、上記の文法でどのインデックスをつけるかまで決められるのか分からない。
テーブルの10%以上を取り出す場合は、インデックスを使わずに全件検索の方が速い。
多量の行の挿入がある場合は、インデックスを1度削除して、もう1度設定するほうが良い。

インデックスの種類としては、ユニークインデックス、非ユニークインデックス、ハッシュインデックス、クラスタインデックスがある。
ユニークインデックスは、個々の部分をランダムに取り出す主キーに対して使う。主キー以外でも、候補キーにも使う。この場合を2次インデックスと呼ばれる。
非ユニークインデックスは、外部キーに使う。重複があるときに使う。
クラスタインデックスは、データレコードがキーの並び順(インデックス順)にソートされて格納されている。前方一致検索(LIKE'A%')のような範囲検索に対して有効。しかし、更新時のオーバヘッドが大きいので、更新の多いテーブルには向かない。
ハッシュインデックスは、キー値にハッシュ関数を適用し、キー値に一致する行をダイレクトに検索できるようにする。A='○○'のような等号比較に有効。範囲検索には向かない。