2010-09-02 55 views
6

我想在測試我的應用程序時監視sql server的工具。 applicatino當然會運行不同的查詢。用於查找sql​​ server中數據庫瓶頸的工具

從工具,我想等的輸出: - 因爲索引丟失在這個領域

而且這種信息的這個查詢很慢。

但我想有一種方法來突出顯示關鍵數據,例如可能有100個索引缺失,但其中99個可以提高0.05%的性能,而其中一個可以提供6000%的利益一個問題。所以突出顯示熱點也很重要。

另外一個商業產品(具有全部功能 - 沒有限制 - 審判)是理想的。

回答

11

你不完全需要的工具。我個人使用下面的查詢來告訴我哪些索引的SQL Server認爲它需要,這表明SQL Server如何經常看的指數,預計改善等等

SELECT user_seeks * avg_total_user_cost * (avg_user_impact * 0.01) AS index_advantage, 
    migs.last_user_seek, 
    mid.statement AS 'Database.Schema.Table', 
    mid.equality_columns, 
    mid.inequality_columns, 
    mid.included_columns, 
    migs.unique_compiles, 
    migs.user_seeks, 
    migs.avg_total_user_cost, 
    migs.avg_user_impact 
FROM sys.dm_db_missing_index_group_stats AS migs WITH (NOLOCK) 
INNER JOIN sys.dm_db_missing_index_groups AS mig WITH (NOLOCK) 
    ON migs.group_handle = mig.index_group_handle 
INNER JOIN sys.dm_db_missing_index_details AS mid WITH (NOLOCK) 
    ON mig.index_handle = mid.index_handle 
ORDER BY index_advantage DESC; 

如果你想找出慢查詢SQL事件探查器是你的朋友,只需設置一個過濾器的持續時間,你就設置好了。然後通過數據庫引擎優化顧問(兩者均附帶SQL Server)運行此查詢。

+0

我只是在我的一個數據庫上運行該查詢。你能添加一個鏈接到一個解釋如何解釋結果的文檔嗎?謝謝 ! – 2010-09-02 09:17:09

+2

找到它:http://sqlblogcasts.com/blogs/sarveshsingh/archive/2010/08/23/index-usage.aspx – 2010-09-02 09:21:07

+1

http://msdn.microsoft.com/en-us/library/ms187974%28v= SQL.90%29.aspx你去:) – 2010-09-02 09:21:41

2
  • SQL Server事件探查
  • SQL數據庫顧問
0

看看SQL Copilot。有一個免費版本,完整版本便宜(約50美元)。
請注意,雖然我使用它並發現它有用以提出一些問題並作爲學習工具,但我仍在尋找其他工具。
這個棘手的問題需要學習很多東西。