0
要提高以下查询的性能,我们必须删除OR子句并使用UNION。 OR子句不允许考虑索引,这就是我们为什么需要使用UNION的原因。请让我知道是否有其他更好的方法来提高此查询的性能并避免使用OR子句?通过用UNION替换OR来提高SQL查询的性能
SELECT *
FROM A
LEFT OUTER JOIN B
ON A.NBR_CH = B.NBR_CH
LEFT OUTER JOIN C
ON B.ID = C.ID
WHERE A.LIS IN (:IdList)
AND ((C.TYP_C = :Type
AND C.R_NBR LIKE :rNbr)
OR (A.R_NBR LIKE :rNbr))
WITH UR
什么是'WITH UR'? –
@GordonLinoff WITH WITH {RR | RS | CS | UR}指示计划以指定的隔离级别进行编译,在这种情况下为未提交的读取。 – mustaccio
什么平台和版本?你为什么认为OR会阻止索引使用? – Charles