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...
认证高级PHP讲师