Performance

衡量 INDEX 對生產的影響的最佳方法是什麼?

  • October 25, 2021

我們正在nonclustered indexesSQL Server 2016 上的 QA 環境中創建表。表在結構(列、聚集索引)方面是相同的,但生產中的表有更多的行和更多的分區。企業想要一些統計數據/數據,這將能夠決定我們是否可以在生產環境中創建索引。所以我們準備:

  • Logical reads選擇查詢和插入批次的索引之前和之後
  • CPU time(以及檢查我們是否需要並行性所用的時間)選擇查詢和插入批次的索引之前和之後
  • 索引前後選擇查詢和插入批次的持續時間
  • 新索引的儲存大小

你有什麼建議嗎?是否有任何清單或流程?

這是我向 DBA 下達命令時的檢查清單CREATE INDEX

  1. 證明它實際上解決了一個非常具體的業務問題

現在,有些交易可能會受到負面影響,包括輕微影響的證明(如果需要)

此外,您可以通過創建這些非聚集索引來比較您嘗試調整的查詢的實際執行計劃之前和之後:

實際執行計劃是在 Transact-SQL 查詢或批處理執行後生成的。因此,實際執行計劃包含執行時資訊,例如實際資源使用指標和執行時警告(如果有)。生成的執行計劃顯示 SQL Server 數據庫引擎用於執行查詢的實際查詢執行計劃。

如果查詢的執行時間得到改善,並且您看到在新的執行計劃中使用了非聚集索引,特別是如果您看到它們與索引查找操作(如果適用)一起使用,那麼這證明它們正在有效地使用。

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