インデックス
データの並び順のこと。
デフォルトは主キーになっています。
インデックスのメリット
インデックスを活用することでデータベース上から情報を取り出す速度が早くなります。
例えば下記のようなデータテーブルがあった時に、
インデックスを社員コードにするだけで、
社員コードが昇順になって表示されます。
これで下記のようなSQLを実行した際に
select * from 社員テーブル where 社員コード = 1003
インデックスが何も設定されていない場合だと全件検索しますが、
社員コードが設定されていると昇順になっているので検索時にアルゴリズム的に実行してくれます。
複数インデックス
複数の並び替えの条件でインデックスを作成すること。
例えば社員コード、所属コードでインデックスを設定した場合、
このようなデータテーブルになる。
※このようなデータテーブルにはならない
複数インデックスでは2つ目以降の引数に設定したカラムのみでは使用できない。
select * from 社員テーブル where 社員コード = 1003
この場合は全件検索してしまう。
主キーインデックスと普通のインデックスの違い
主キーインデックスはDBがデフォルトでインデックスを指定します。
そのデータベースの用途に従ってインデックスを設定すべきです。
またインデックスは複数設定することもできます。
・社員テーブル(インデックス:社員コード)
・社員テーブル(インデックス:所属コード,社員コード)
のようにそれぞれ保持することが可能です。