[英]“WITH” clause optimization in oracle query
當我在查詢中使用許多WITH子句時,它執行的時間更長,而不是沒有它。 查詢結構如下:
with t1 as (select some_fields from table1 inner join table2),
t2 as (select some_fields from t1 inner join table3),
t3 as (select some_fields from t2 inner join table4)
select * from t3
應該使用哪種方法來優化類似的查詢? 在我的情況下,每個子查詢返回大約1000萬行。
考慮到所有的保密性,我建議您對兩個查詢都查看EXPLAIN PLAN 。 在我看來,WITH只是語法糖,它使您可以在子查詢中重用某些sql。 但總的來說,它並不總是導致最有效的計划。
是的,10000萬總是很慢。
我確認WITH CLAUSE不會提高Oracle數據庫的性能。 它僅允許使用查詢名稱,而不是重復整個查詢文本。
另外,它允許定義PL / SQL函數,以便隨后在查詢中使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.