多次元インデックスのアクセス方法の設定
MySQLでは、複数のカラムを含むインデックスを作成するには、次の構文を使用します。
CREATE INDEX index_name ON table_name (column1, column2, ...);
インデックス名は index_name で,インデックスを作成するテーブル名は table_name で,column1, column2, … は,インデックスに含めるフィールド名です。このようにして作成されるインデックスを,複合インデックス(または多次元インデックス)と呼びます。
留意すべき事項
- 多次項目インデックスを作成する際に注意すべき点は項目の順序である。 検索する問い合わせ文に関わる項目の順序は、インデックス作成時の項目の順序と一致する必要がある。そうすると、 インデックスを最大限に活用し、検索のパフォーマンスを向上させることができる。
- 複数のフィールドを含む多重フィールドインデックスは、必要に応じて複数のフィールドを指定できます。各フィールド名はコンマで区切ることができます。
- 文字列、数値、日付などのフィールドを格納することのできる多値型インデックス。
- インデックス付きの複数のカラムで検索を行う場合、インデックスに含まれていないカラムは検索条件に使用しないこと。インデックスに含まれないカラムを検索条件に使用するとインデックスが利用されず、検索効率が向上しません。
- テーブルに存在するカラムを指定してマルチカラムインデックスを作成するか、テーブル作成時にマルチカラムインデックスを作成します。
例えば、2つのフィールドを含む複合索引を作成する:
CREATE INDEX idx_name_age ON users (name, age);
idx_name_ageという名前で、usersテーブルのnameとageの2つのフィールドを含むマルチフィールドインデックスが作成されます。