当先锋百科网

首页 1 2 3 4 5 6 7
mysql一对多查询,mysql查询中in和多个or的区别?

多数据库服务器都只把IN()看作多个OR的同义词,因为它们在逻辑上是相等的。

MYSQL不是这样的,它会对IN()里面的数据进行排序,然后用二分法查找个是否在列表中,这个算法的效率是O(Logn),而等同的OR子句的查找效率是O(n)。

在列表很大的时候,OR子句就会变得慢得多。