SELECT * FROM table
WHERE (a, b) IN (('AAA', 111), ('BBB', 222), ...);
这种sql有没有更优的写法?
在mysql 5.6,这种写法是不会走索引的,除非用
FORCE INDEX
;在mysql 5.7,这种写法在IN参数超过一定量之后,也是不会走索引的。
2016年11月9日更新
在StackOverflow找到个写法,用NATURAL JOIN
,先去试试。
参考资料:
http://stackoverflow.com/ques...