T1 TSQL 概念明細語法
SELECT * ,
SUBSTRING(D.TreePath , 1 , LEN(D.TreePath)-3) AS TreePath
FROM 樹狀檔頭Table AS M
JOIN 樹狀Table AS D ON M.派工單號 = D.派工單號
WHERE M.是否結案 = 0
AND D.工作站 = 特定工作站
透過 TSQL count() 統計樹狀 Table 內根結點 A0 資料狀態
- 包含根結點 A0 資料,總共 81,201 筆資料
- 根結點 A0 總共有 391 筆
觀察執行計畫
執行計畫觀察是 81,201 筆資料 (包含根結點 A0 資料) 從樹狀 Table 抓出,遇上 Compute Scalar 卻沒有拋出 Exception,透過 Nested Loosps 跟樹狀檔頭 Table 抓資料時,是透過 [派工單號] 和 [是否結案] 兩個欄位去篩選資料,資料量在此時縮減為 455 筆,也把根結點 A0 資料篩選掉,猜測是 Compute Scalar 並沒有實際執行轉換
查詢 Compute Scalar 相關資料,在這兩篇文章中獲得解答
發現 Compute Scalar 具有延遲特性,不是有該 operator 出現就會立即執行,所以就避開 A0 轉換拋出 Exception
沒有留言:
張貼留言