例如在下面的查询中
SELECT * FROM Persons
WHERE LastName IN ('Hansen','Pettersen', 'Smith')
假设 LastName 已编入索引,单个查询是否比对 LastName 执行三个单独的查询更有效?
最佳答案
执行单个查询比运行多个查询来检索相同数量的数据更快,因为您节省了网络往返次数。根据我的经验,往返次数通常是多查询场景中性能的最大 killer 。
与具有三个条件的单个查询相比,像这样,
SELECT * FROM Persons
WHERE LastName='Hansen' OR LastName='Pettersen' OR LastName='Smith'
不同:大多数优化器发现它与 IN
查询相同,因此您的性能保持不变。
关于sql - SQL IN 是否比单独查找更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10848675/