“在”示例中:
select * from t where something in ('a', 'b', 'c')
“或”示例:
select * from t where something='a' or something='b' or something='c'
这两者之间是否存在效率差异?还是它们是相同的?
答案 0 :(得分:0)
这在很大程度上取决于数据库和优化器。查看两个查询的解释计划的最佳方法。对于较小的值,它并不重要,但是随着值的数量增加, IN 子句通常会胜过 OR 。
此answer对于 in 和或的不同数据库具有很好的见解和比较。