日期:2014-05-16  浏览次数:20675 次

mysql的in与or哪个效率更好?
请问各位大侠,诸如下面的语句:
1.   select   a1   from   table   where   a1= 'b1 '   or     a1= 'b2 '   or     a1= 'b3 '   or     a1= 'b4 '   or     a1= 'b5 '  

2.   select   a1   from   table   where   a1   in( 'b1 ', 'b2 ', 'b3 '   , 'b4 '   , 'b5 ')

哪个语句的效率更高呢?
或者还有什么更好的方法?



------解决方案--------------------
IN 的效率高于OR。
------解决方案--------------------
对了,还得看你的A1是不是建了索引。
如果有索引的话。

IN 的效率就低于 OR.
------解决方案--------------------
in适用于外表大内表小的情况!与数据的多少也很有关系的!
------解决方案--------------------
看一下这里:
http://blog.chinaunix.net/u/29134/showart_264480.html