-
-
Save Sasni/125441ea6777f158b0b12ed8903e172c to your computer and use it in GitHub Desktop.
Find missing indexes in SQL Server
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PRINT 'Missing Indexes: ' | |
PRINT 'The "improvement_measure" column is an indicator of the (estimated) improvement that might ' | |
PRINT 'be seen if the index was created. This is a unitless number, and has meaning only relative ' | |
PRINT 'the same number for other indexes. The measure is a combination of the avg_total_user_cost, ' | |
PRINT 'avg_user_impact, user_seeks, and user_scans columns in sys.dm_db_missing_index_group_stats.' | |
PRINT '' | |
PRINT '-- Missing Indexes --' | |
SELECT CONVERT (varchar, getdate(), 126) AS runtime, | |
mig.index_group_handle, mid.index_handle, | |
CONVERT (decimal (28,1), migs.avg_total_user_cost * migs.avg_user_impact * (migs.user_seeks + migs.user_scans)) AS improvement_measure, | |
'CREATE INDEX missing_index_' + CONVERT (varchar, mig.index_group_handle) + '_' + CONVERT (varchar, mid.index_handle) | |
+ ' ON ' + mid.statement | |
+ ' (' + ISNULL (mid.equality_columns,'') | |
+ CASE WHEN mid.equality_columns IS NOT NULL AND mid.inequality_columns IS NOT NULL THEN ',' ELSE '' END + ISNULL (mid.inequality_columns, '') | |
+ ')' | |
+ ISNULL (' INCLUDE (' + mid.included_columns + ')', '') AS create_index_statement, | |
migs.*, mid.database_id, mid.[object_id] | |
FROM sys.dm_db_missing_index_groups mig | |
INNER JOIN sys.dm_db_missing_index_group_stats migs ON migs.group_handle = mig.index_group_handle | |
INNER JOIN sys.dm_db_missing_index_details mid ON mig.index_handle = mid.index_handle | |
WHERE CONVERT (decimal (28,1), migs.avg_total_user_cost * migs.avg_user_impact * (migs.user_seeks + migs.user_scans)) > 10 | |
ORDER BY migs.avg_total_user_cost * migs.avg_user_impact * (migs.user_seeks + migs.user_scans) DESC | |
PRINT '' | |
GO |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment