SQL Missing Indexes Test
SQL Server allows you to put indexes on table columns, to speed up WHERE and JOIN statements on those columns. If a SQL query takes longer (much longer) to complete, it could be because one/more of these indexes are ‘missing’. When the query optimizer optimizes a query, it identifies those indexes it would have liked to have used but were not available - these are called ‘missing indexes’.
With the help of the SQL Missing Indexes test, you can be promptly alerted when the query optimizer finds one/more ‘missing indexes’. Besides reporting the count of the missing indexes, the test also reveals which queries require these indexes, thus enabling you to quickly initiate index creation and query optimization.
This test is disabled by default. To enable the test, go to the enable / disable tests page using the menu sequence : Agents -> Tests -> Enable/Disable, pick Microsoft SQL as the Component type, Performance as the Test type, choose this test from the disabled tests list, and click on the << button to move the test to the ENABLED TESTS list. Finally, click the Update button.
Target of the test : A Microsoft SQL server
Agent deploying the test : An internal agent
Outputs of the test : One set of results for every database on the monitored Microsoft SQL server
|
Measurement | Description | Measurement Unit | Interpretation |
---|---|---|---|
Number of Missing Indexes: |
Indicates the total number of missing indexes found in the queries that are currently executing on this database. |
Number |
The detailed diagnosis of this measure reveals the tables and the specific columns in those tables that are missing indexes. If the missing indexes are adversely impacting query performance, then database administrators can use this information to decide on the ideal approach to improving query performance – should new indexes be created? Or should queries be optimized to use existing indexes? |
Missing indexes based on user seeks |
Indicates the number of times the missing indexes appeared in the result set of the queries based on user requests. |
Number |
|
Missing indexes based on user impact |
Indicates the number of times the resources of the database server were impacted due to user queries when the indexes were missing. |
Number |
|