-2
有誰知道如何提高以下多個Oracle SQL查詢NOT NULL與OR操作:多個IS NOT NULL使用OR操作
select count(1)
from s_srv_req sr, s_evt_act act, s_bu bu
where sr.row_id = act.sra_sr_id(+)
and sr.bu_id = bu.row_id
and sr.last_upd > to_date('31-DEC-2013','DD-MON-YYYY')
and **(X_REASON_CODE1 is not null
OR X_REASON_CODE2 is not null
OR X_CONCERN_CODE1 is not null
OR X_CONCERN_CODE2 is not null
OR X_COMPONENT_CODE is not null)**
這裏的目的是獲取所有記錄,即使在一個代碼列不爲null。 注意:這個查詢花費了很多時間,並且我不能在這樣的時間進行查詢。提前致謝。
是否建立了'不null'和'或'是什麼是真正減緩下來?執行計劃顯示了什麼? (另外,請考慮使用ANSI連接語法)。 –
您是否在所有代碼列和連接列上都有索引? –
檢查WHERE子句中的所有列以查看它們是否具有索引。 –