m12*_*45y 5 sql oracle performance
我手边没有"解释计划".你能帮忙说出以下哪项更有效率吗?
选项1:
select ...
from VIEW_ABC
where STRING_COL = 'AA'
OR STRING_COL = 'BB'
OR STRING_COL = 'BB'
OR ...
OR STRING_COL = 'ZZ'
Run Code Online (Sandbox Code Playgroud)
选项2:
select ...
from VIEW_ABC
where STRING_COL IN ('AA','BB',...,'ZZ')
Run Code Online (Sandbox Code Playgroud)
这是一个类似的问题: Oracle的OR vs OR,哪个更快?
看看OMG小马给出的答案,他认为这个IN更优化了OR.
还有这个问题: SQL WHERE子句中的IN vs OR
虽然它不是特定于数据库的,但从Oracle的角度来看,它有一些很好的答案.
对于它的价值,使用IN将更容易阅读,因此从长远来看更容易支持.仅这一点可能会影响您的选择,特别是如果(我怀疑)Oracle优化器以同样的方式对待它们.
但是,如果您的值列表非常大,那么您应该查看一种完全不同的方法来检索结果.
| 归档时间: |
|
| 查看次数: |
14651 次 |
| 最近记录: |