“in”示例:
select * from t where something in ('a', 'b', 'c')
“或”示例:
select * from t where something='a' or something='b' or something='c'
这两者之间有效率上的差别吗?或者他们在引擎盖下是一样的?
o8x7eapl1#
这在很大程度上取决于数据库和优化器。查看这两个查询的解释计划的最佳方式。对于较小数量的值,这并不重要,但随着值数量的增加,in子句的性能通常优于or。这个答案对于in和or的不同数据库有很大的洞察力和比较。
1条答案
按热度按时间o8x7eapl1#
这在很大程度上取决于数据库和优化器。查看这两个查询的解释计划的最佳方式。对于较小数量的值,这并不重要,但随着值数量的增加,in子句的性能通常优于or。
这个答案对于in和or的不同数据库有很大的洞察力和比较。