IN和NOT IN运算符之间是否存在性能差异?

时间:2014-02-05 05:09:55

标签: sql performance oracle query-performance

oracle数据库中的INNOT IN运算符之间是否有任何主要的查询性能差异?

1 个答案:

答案 0 :(得分:4)

与大多数表演问题一样,这取决于。

如果没有索引,那么它们应该大致相当。

如果您在限制列上有索引,则IN可能会比NOT IN更快,因为IN可以使用索引搜索,而NOT IN则需要进行表扫描

上述情况当然取决于col1的非常少的不同值并且已被索引,那么NOT IN最终可能会使用索引搜索而不是表扫描。