いいえ。インデックス内の列の順序は非常に重要です。次のようなインデックスがあるとします。create unique index index_name on table_name (headline, coupon_code, description,expiration_date)
この場合、これらのクエリはインデックスを使用します
select * from table_name where headline = 1
select * from table_name where headline = 1 and cupon_code = 2
これらのクエリは一意のインデックスを使用しません:
select * from table_name where coupon_code = 1
select * from table_name where description = 1 and cupon_code = 2
つまり、ルールは次のようなものです。複数のフィールドにインデックスを付ける場合、インデックスを使用できるようにするには、最初のkフィールドを指定する必要があります。
つまり、任意のを検索できるようにしたい場合 これらのフィールドの1つを作成し、それぞれに個別にインデックスを作成する必要があります。 (結合された一意のインデックスを除く)
また、LIKE演算子には注意してください。
これはインデックスSELECT * FROM tbl_name WHERE key_col LIKE 'Patrick%';
を使用します これはSELECT * FROM tbl_name WHERE key_col LIKE '%Patrick%';
にはなりません
インデックスの使用法