PRIMARY KEY(a、b)を持つテーブルから複合インデックスで複数のレコードを取得しようとしています
SELECT * FROM table WHERE (a, b) IN ((1,2), (2,4), (1,3))
問題は、I FORCE INDEX()を使用しても、MySQLがインデックスを使用していないことPRIMARY
です。
EXPLAIN SELECTは、nullのpossible_keysを示します。
なぜpossible_keysがないのですか?
複合キーで複数の行を取得するための最良の方法は何ですか。
- ORを使用
- UNIONALLを使用する
- WHERE()IN(()、())を使用する
PSクエリは結果によって次のようになります
SELECT * FROM table WHERE (a = 1 AND b = 2) OR (a = 2 AND b = 4) OR (a = 1 AND b = 3)
ありがとう