2012-03-21 57 views

回答

8

編號

這是從過程的早期階段的輸出。它會在編譯階段正確之前被替換爲引用視圖的查詢。所涉及的階段是

  • 解析(輸出:解析樹)
  • 綁定(輸出:Algebrized樹)
  • 查詢Otimisation(輸出:執行計劃)
  • 查詢執行

對於這些完整的描述見本傑明內瓦雷茲的文章The SQL Server Query Optimizer

AFAIK儘管顯示爲Parse Tree in sys.dm_exec_cached_plans它實際上是第二階段的輸出,存儲並被替換爲查詢。對於SQL視圖對象類型是「解析樹」,其中作爲存儲的特效是「編譯計劃」:這是從該查詢在這些對象顯示爲Bound Trees

SELECT text, 
     objtype, 
     refcounts, 
     usecounts, 
     size_in_bytes, 
     cacheobjtype, 
     name 
FROM sys.dm_exec_cached_plans p 
     CROSS APPLY sys.dm_exec_sql_text(plan_handle) 
     JOIN sys.dm_os_memory_cache_entries e 
     ON p.memory_object_address = e.memory_object_address 
WHERE cacheobjtype = 'Parse Tree' 
+0

問題的支持。這是否意味着SQL視圖被編譯到緩存中以供重用? – SQLnbe 2014-10-29 06:15:36