Last active
September 15, 2015 16:58
-
-
Save vardars/3cabb8422b2da496c310 to your computer and use it in GitHub Desktop.
MSSQL Create Index Script Generator
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
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 AS mig | |
INNER JOIN sys.dm_db_missing_index_group_stats AS migs | |
ON migs.group_handle = mig.index_group_handle | |
INNER JOIN sys.dm_db_missing_index_details AS mid | |
ON mig.index_handle = mid.index_handle | |
ORDER BY | |
database_id, | |
migs.avg_total_user_cost * migs.avg_user_impact * (migs.user_seeks + migs.user_scans) DESC |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment