簡體   English   中英

oracle查詢中的“ WITH”子句優化

[英]“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM