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

mysql查询中in和多个or的区别
mysql查询中in和多个or的区别

多数据库服务器都只把IN()看作多个OR的同义词,因为它们在逻辑上是相等的。MYSQL不是这样的,它会对IN()里面的数据进行排序,然后用二分法查找个是否在列表中,这个算法的效率是O(Logn),而等同的OR子句的查找效率是O(n)。在列表很大的时候,OR子句就会变得慢得多。

这里的语句和Oracle数据库里是一样的。