質問がありますSELECT.. WHERE user_id='' && date>:expire && used=0;
インデックスを作成しようとすると。次のような1つのクエリですべて一緒に作成する必要がありますか
CREATE INDEX new_index ON table (user_id, date, used)
または、それらを分離して各列のインデックスを作成する必要がありますか?
質問がありますSELECT.. WHERE user_id='' && date>:expire && used=0;
インデックスを作成しようとすると。次のような1つのクエリですべて一緒に作成する必要がありますか
CREATE INDEX new_index ON table (user_id, date, used)
または、それらを分離して各列のインデックスを作成する必要がありますか?
これは、これらの列のクエリをどのように計画するかに大きく依存します。最も安全な方法は、列ごとにインデックスを作成することですが、最適なパフォーマンスが得られない場合があります。
複数列インデックスは、次の場合に役立ちます。
たとえば、提案したコンボ インデックス (user_id、date、used) の場合、次の条件でのみインデックスを利用できます。
これらの場合、インデックスを利用することはできません
さらに読むために、マルチカラム インデックスに関する MySQL ドキュメントを次に示します。
http://dev.mysql.com/doc/refman/5.5/en/multiple-column-indexes.html