Sql-Server

檢查表與視圖性能的最佳方法是什麼?

  • September 10, 2021

您能否建議比較表與視圖的查詢性能的最佳解決方案是什麼。

我的意思是在同一台伺服器上有兩個數據庫(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/

引用自:https://dba.stackexchange.com/questions/299377