[英]Declaring a temp table vs.using a WITH statement
我從事市場研究,正在編寫SQL時更好地理解最佳實踐。
我遇到的一種情況是使用WITH
子句和使用聲明的臨時表。
在大多數情況下,我使用with
子句,因為它很容易實現(我更喜歡它級聯SELECT
)。
但是,在運行時和效率方面使用聲明的臨時表是否有好處? 我更喜歡每個人的利弊。
最重要的是首先獲得正確工作的查詢。 任何查詢。
如果是多次重復使用,它張貼在這里和工程師將提供有關如何改進它,也許如何衡量其性能的意見。
許多因素在起作用:架構,軟件,版本,服務器分布,輸入數量,輸出數量等。
這個決定是逐案的。 WITH子句對於1)在外部查詢中多次重復子查詢以及2)從外部查詢中提取復雜的內部查詢以保持內容清潔和可讀是有用的。 可以通過VIEW輕松替換WITH。 將其視為內聯視圖。
我認為臨時表更專業。 當您需要在會話期間保留結果集以供多個查詢使用時,臨時表通常用於緩存。 還有其他用例,但同樣更專注於這種情況。
這兩個概念只是“有點”相關。
根據您的方案,WITH或臨時表都不合適。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.