陪伴而非守候
2019-08-26 11:18:17
哪些性能更高,CTE或臨時(shí)表?哪個(gè)更高效,CTE或者Temporary Tables?
3 回答

浮云間
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
我會說他們是不同的概念,但不能說“粉筆和奶酪”。
臨時(shí)表適用于重用或?qū)σ唤M數(shù)據(jù)執(zhí)行多個(gè)處理過程。
CTE可用于遞歸或簡單地提高可讀性。
并且,像視圖或內(nèi)聯(lián)表值函數(shù)也可以像處理宏一樣在主查詢中進(jìn)行擴(kuò)展臨時(shí)表是另一個(gè)表,其中包含一些圍繞范圍的規(guī)則
我存儲了procs,我使用它們(和表變量)

臨摹微笑
TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊
因此,我分配給優(yōu)化的查詢是用SQL Server中的兩個(gè)CTE編寫的?;?8秒。
我花了兩分鐘將它們轉(zhuǎn)換為臨時(shí)表,查詢耗時(shí)3秒
我在正在連接的字段上為臨時(shí)表添加了一個(gè)索引,并將其降低到2秒
三分鐘的工作,現(xiàn)在通過移除CTE,運(yùn)行速度提高了12倍。我個(gè)人不會使用CTE,因?yàn)樗鼈円哺y以調(diào)試。
瘋狂的事情是,CTE都只使用過一次,而且它們的指數(shù)仍被證明要快50%。
- 3 回答
- 0 關(guān)注
- 671 瀏覽
添加回答
舉報(bào)
0/150
提交
取消