Sql-Server
檢查表與視圖性能的最佳方法是什麼?
您能否建議比較表與視圖的查詢性能的最佳解決方案是什麼。
我的意思是在同一台伺服器上有兩個數據庫(
SQL Server 2016
)。兩者都包含相同的數據,但在不同的模式中,因此假設數據庫A
我們在一個表中有數據A.Data
,在數據庫 B 上相同的數據在表B.Data1
中,B.Data2
並且B.Data3
。所以在數據庫B
上有一些 VIEV 顯示與數據庫上的表數據相同的數據A
(所以對於上面的例子,假設我們有View_Data
數據庫視圖B
)。
A.Data
比較表和視圖查詢的性能/效率的最佳方法是什麼B.View_Data
?只是SET STATICTICS IO ON
比較這些統計數據?
SET STATISTICS ON
可以給你一個快速的提示,但邏輯和物理讀取並不是一切。此外,考慮到您可以有多個迭代、多個表和不同類型的物理 IO,輸出編譯起來可能很麻煩。統計分析器可能會有所幫助:http ://statisticsparser.com/ 。我傾向於啟動擴展事件 (XE) 跟踪,並在其中比較持續時間、CPU 等。對我來說,這是一個更完整的畫面,也更容易消化。有些人發現 XE 很難使用,但我確實在幾秒鐘內就啟動了這樣的跟踪。這是我寫的關於使用 XE 並避免一些障礙等的部落格文章:http: //sqlblog.karaszi.com/tips-for-getting-started-with-extended-events/