SET CONCAT_NULL_YIELDS_NULL OFF SELECT weighted_cost = avg_total_user_cost * avg_user_impact * (user_seeks + user_scans), s.*, 'CREATE INDEX IX_' + REPLACE(REPLACE(COALESCE(equality_columns, inequality_columns), '[', ''), ']', '') + ' ON ' + d.statement + '(' + COALESCE(equality_columns, inequality_columns) + CASE WHEN equality_columns IS NOT NULL THEN CASE WHEN inequality_columns IS NOT NULL THEN ', ' + inequality_columns END END + ')' + CASE WHEN included_columns IS NOT NULL THEN ' INCLUDE (' + included_columns + ')' END FROM sys.dm_db_missing_index_details d INNER JOIN sys.dm_db_missing_index_groups g ON d.index_handle = g.index_handle INNER JOIN sys.dm_db_missing_index_group_stats s ON g.index_group_handle = s.group_handle ORDER BY avg_total_user_cost * avg_user_impact * (user_seeks + user_scans)DESC;
↧
SQL 2005 – Script to find missing indexes
↧