2つのフィールド、field1とfield2、およびfield1_field2(field1、field2)で作成されたコンポジットインデックスを持つテーブル "test"があります。 ここではsql:select * from test force index(field1_field2)フィールド1> 100およびフィールド2 = 2の制限200mysqlの範囲クエリでコンポジットインデックスを使用する方法
非常にうまく動作しません。 私はそれを説明し、インデックスのクエリで使用される唯一のフィールド1の条件、フィールド2の条件が無視されたことがわかった....
私はなぜ知っている、と私は完全にフィールド1のデータがたくさんある
に答える必要がありますしたいです> 100とそのクエリのフィールド2 = 2
インデックス列を '(field2、field1)'にスワッピングしてみてください。 – JimmyB
また、[ここ](http://dev.mysql.com/doc/refman/5.7/en/range-optimization.html#range-access-multi-part)を読んでください。 – JimmyB