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