SQL Server 查詢優化功能
下列 SQL Server 查詢優化功能可與缺失索引功能一起使用:
sys.dm_db_index_usage_stats 和 sys.dm_exec_query_stats 動態管理檢視
資料庫引擎優化顧問
sys.dm_db_index_usage_stats 收集有關 SQL Server 例項上現有索引的索引使用資訊。sys.dm_exec_query_stats 返回有關快取查詢計劃的聚合效能統計資訊。它可捕獲諸如快取計劃已執行的時間、快取計劃進行時所執行的邏輯和物理讀取運算元等資訊。
資料庫引擎優化顧問是一個獨立的工具,可對整個 SQL Server 工作負荷進行分析,並針對物理設計結構(例如索引、索引檢視或分割槽)的配置生成建議。
下面將對資料庫引擎優化顧問與缺失索引功能進行詳細比較。
缺失索引功能與資料庫引擎優化顧問
缺失索引是輕型的且始終啟用的伺服器端功能,用於捕獲並更正索引錯誤。相反,資料庫引擎優化顧問是一個綜合工具,可用於評估物理資料庫設計,並建議新的物理設計結構以改善效能。資料庫引擎優化顧問不僅考慮索引,還考慮應使用索引檢視還是使用分割槽來提高查詢效能。
下表對缺失索引功能和資料庫引擎優化顧問進行更詳細的比較:
比較點 缺失索引功能 資料庫引擎優化顧問
如何部署?
伺服器端
客戶端、獨立應用程式。
可用性?
始終啟用
由資料庫管理員啟動或在指令碼中呼叫。
分析範圍?
快速即席分析,僅提供有關缺失索引的有限資訊。
徹底的工作負荷分析,提供已提交工作負荷環境下最佳物理資料庫設計配置的完整建議報告。
分析中將 UPDATE、INSERT 和 DELETE 語句作為考慮因素嗎?
否
是
分析中將可用磁碟儲存空間作為考慮因素嗎?
否
是
列是按照建議的索引排列嗎?
否,必須手動排序 CREATE INDEX 語句中的列。
基於查詢執行開銷,按照建議的索引自動確定列的順序。
建議使用聚集索引嗎?
否
是
建議使用涵蓋索引嗎?
是
是
建議使用非涵蓋索引嗎?
是
是
建議使用索引檢視嗎?
否
是
建議使用分割槽嗎?
否
是
建議的依據是什麼?
由查詢優化器估計查詢執行的大致開銷。
由查詢優化器估計查詢執行開銷。
實現這些建議會產生什麼影響?
報告新增缺失索引所產生的大致影響。有關詳細資訊,請參閱 sys.dm_db_missing_index_group_stats。
生成十五個不同的分析報表,提供有關實現這些建議所產生的影響的資訊。有關詳細資訊,請參閱選擇資料庫引擎優化顧問報告。
如果實現了已標識的缺失索引,則查詢效能可能會得到改善。可使用資料庫引擎優化顧問使用者指定的配置功能和評估模式,來確定實現缺失索引對整個工作負荷的影響。有關詳細資訊,請參閱使用資料庫引擎優化顧問進行探索性分析。
即使對於單個查詢工作負荷,資料庫引擎優化顧問和缺失索引功能也可返回不同的建議。這是因為缺失索引功能建議的索引鍵列不區分先後順序。另一方面,資料庫引擎優化顧問建議包括對索引鍵列進行排序,以優化查詢效能。
總結
缺失索引功能可用於捕獲並更正索引錯誤,而資料庫引擎優化顧問可用於更正索引錯誤,並從整體上優化伺服器中執行的工作負荷。可使用缺失索引功能生成候選索引,但應使用資料庫引擎優化顧問對這些索引進行驗證。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-520797/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MS SQL Server查詢優化方法SQLServer優化
- MS SQL Server查詢優化方法SQLServer優化
- MS SQL SERVER索引優化相關查詢SQLServer索引優化
- SQL Server 2008 查詢優化SQLServer優化
- 深入淺出的SQL server 查詢優化SQLServer優化
- 優化SQL Server資料庫查詢方法優化SQLServer資料庫
- SQL查詢優化SQL優化
- 優化SQL Server 2008的查詢效能優化SQLServer
- SQL Server查詢速度慢原因及優化方法SQLServer優化
- 我如何調優SQL Server查詢SQLServer
- 優化sql查詢速度優化SQL
- SQL Server查詢速度慢的原因及優化方法SQLServer優化
- SQL Server資料庫查詢優化的方法總結SQLServer資料庫優化
- SQL Server 2008 高階查詢優化概念SQLServer優化
- Sql Server 的引數化查詢SQLServer
- SQL查詢優化的方法SQL優化
- 優化sql提高查詢速度優化SQL
- SQL Server 2008 實施查詢優化建議SQLServer優化
- Microsoft SQL Server查詢最佳化方法ROSSQLServer
- SQL Server調優系列進階篇(查詢優化器的執行方式)SQLServer優化
- 十七、Mysql之SQL優化查詢MySql優化
- SQL查詢優化常見方法SQL優化
- SQL Server 查詢分解SQLServer
- SQL Server資料庫查詢速度慢原因及優化方法SQLServer資料庫優化
- SQL Server 2000 中查詢優化器使用的統計SQLServer優化
- SQL使用模糊查詢like的優化SQL優化
- Sql server2005 優化查詢速度50個方法小結SQLServer優化
- SQL SERVER優化SQLServer優化
- SQL Server遞迴查詢SQLServer遞迴
- SQL SERVER 查詢鎖資訊SQLServer
- SQL server跨庫查詢SQLServer
- Sql Server系列:子查詢SQLServer
- SQL server 查詢語句SQLServer
- SQL Server 分散式查詢SQLServer分散式
- SQL SERVER 動態查詢SQLServer
- SQL Server 跨域查詢SQLServer跨域
- Sql server 國際化的支援,查詢亂碼SQLServer
- SQL SERVER中SQL優化SQLServer優化