Sql-Server

如何比較添加索引前後的寫入速度?

  • January 6, 2020

我計劃在我的表中添加一個非聚集索引(複合索引),其中包含大約 500 萬條記錄和 7 列。表在 id 列上只有聚集索引。我要做的第一件事是在開發伺服器上進行測試。我只想知道測試寫作速度的方法。

我想知道測試寫作速度的方法。

我假設您想知道查詢是否執行得更快。它可以是讀、寫或兩者的組合。您可以採取多種方法。這取決於表的使用模式。我確信我無法列出所有內容,但以下幾點將為您提供足夠的工具來衡量您新創建的非聚集索引是否成功。儘管您選擇了哪種方法,但始終與您的測試保持一致。使用相同的工作負載和相同的硬體進行測試。

  • 您想確認是否正在使用新索引?如何判斷索引是否正在使用?Paul Randal 解釋瞭如何做到這一點。
  • 如果您使用一個查詢(或一個儲存過程呼叫)來衡量非聚集索引的有效性,您可以使用下面列出的一些方法。

i) 比較 CPU、時間、讀、寫。Matthew McGiffen 的《測量 SQL 查詢性能》解釋瞭如何做到這一點。

ii) Adam Machanic 最初編寫了 SQLQueryStress,它是測試單個查詢性能的絕佳工具。如何最好地衡量查詢性能?有更多的細節加上談論統計解析器。

iii) 比較 SSMS 中的 Showplan 可以很好地了解演出前後的情況。Microsoft 的比較執行計劃文件解釋瞭如何使用它。

  • 如果您需要測量工作負載(多個查詢或儲存過程的組合),您將需要做更多的工作。

i)正如@David Browne 在評論部分中所解釋的,您可以使用實驗助手。

ii) 您可以在更改前後使用 ostress 工具。Nikhilesh Patel使用 OStress 進行 SQL Server 壓力測試解釋瞭如何使用該工具

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