Oracle Performance IN或OR

Nig*_*ger 3 sql oracle plsql

oracle中的哪个运算符可以提供更好的IN或OR性能

例如:

select * from table where y in (1,2,3)
Run Code Online (Sandbox Code Playgroud)

要么

select * from table where y = 1 or y = 2 or y = 3
Run Code Online (Sandbox Code Playgroud)

Eri*_*lje 9

你想要做一个解释计划,但我希望性能是相同的.

  • 注意,如果它们是相同的,从可读性的角度来看,IN列表更容易阅读,所以我建议假设解释计划显示它们等效. (3认同)

Vin*_*rat 8

这两个语句是等价的,优化器将生成相同的访问路径.因此,您应该选择最具可读性的(我会说第一个).