索引建议

时间:2020-06-17 11:36:52   收藏:0   阅读:70
SELECT TOP 10
        database_name = DB_NAME(details.database_id) ,
        schema_name = SCHEMA_NAME(tb.schema_id) ,
        object_name = tb.name ,
        avg_estimated_impact = dm_migs.avg_user_impact * ( dm_migs.user_seeks
                                                           + dm_migs.user_scans ) ,
        last_user_seek = dm_migs.last_user_seek ,
        create_index = CREATE INDEX [IX_ + OBJECT_NAME(details.object_id,
                                                         details.database_id)
        + _ + REPLACE(REPLACE(REPLACE(ISNULL(details.equality_columns, ‘‘),
                                        , , _), [, ‘‘), ], ‘‘)
        + CASE WHEN details.equality_columns IS NOT NULL
                    AND details.inequality_columns IS NOT NULL THEN _
               ELSE ‘‘
          END + REPLACE(REPLACE(REPLACE(ISNULL(details.inequality_columns, ‘‘),
                                        , , _), [, ‘‘), ], ‘‘) + ]
        +  ON  + details.statement +  ( + ISNULL(details.equality_columns,
                                                     ‘‘)
        + CASE WHEN details.equality_columns IS NOT NULL
                    AND details.inequality_columns IS NOT NULL THEN ,
               ELSE ‘‘
          END + ISNULL(details.inequality_columns, ‘‘) + )
        + ISNULL( INCLUDE ( + details.included_columns + ), ‘‘)
FROM    sys.dm_db_missing_index_groups AS dm_mig WITH ( NOLOCK )
        INNER JOIN sys.dm_db_missing_index_group_stats AS dm_migs WITH ( NOLOCK ) ON dm_migs.group_handle = dm_mig.index_group_handle
        INNER JOIN sys.dm_db_missing_index_details AS details WITH ( NOLOCK ) ON dm_mig.index_handle = details.index_handle
        INNER JOIN sys.tables AS tb WITH ( NOLOCK ) ON details.object_id = tb.object_id
WHERE   details.database_id = DB_ID()
ORDER BY avg_estimated_impact DESC;
GO

 

原文:https://www.cnblogs.com/myloveblogs/p/13151429.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!