【发布时间】:2016-06-04 00:57:34
【问题描述】:
以下之间有性能差异吗?
NAME LIKE '%EXPRESSION_1%'
OR NAME LIKE '%EXPRESSION_2%'
...
OR NAME LIKE '%EXPRESSION_N%'
VS
NAME IN (ACTUAL_VALUE_1,ACTUAL_VALUE_2,.., ACTUAL_VALUE_N)
【问题讨论】:
-
这两个条件不是一回事。你无法比较它们。要找出哪个更有效,只需检查执行计划即可。
-
LIKE 命令慢于相等。 IN 的工作看起来与 OR 相同。
-
你试图比较两个不同的东西......因为 Like '%EXPRESSION_1%' 会给你所有包含 %EXPRESSION_1% 和 IN (EXPRESSION_1) 的东西会给你准确的数据......跨度>
标签: sql oracle11g hql query-performance