sqlserver2008 查看数据库自带的索引建议

Posted footleg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver2008 查看数据库自带的索引建议相关的知识,希望对你有一定的参考价值。

SELECT 

        [Total Cost]  = ROUND(avg_total_user_cost * avg_user_impact * (user_seeks + user_scans),0) 

        , avg_user_impact

        , TableName = statement

        , [EqualityUsage] = equality_columns 

        , [InequalityUsage] = inequality_columns

        , [Include Cloumns] = included_columns

FROM        sys.dm_db_missing_index_groups g 

INNER JOIN    sys.dm_db_missing_index_group_stats s 

       ON s.group_handle = g.index_group_handle 

INNER JOIN    sys.dm_db_missing_index_details d 

       ON d.index_handle = g.index_handle

ORDER BY [Total Cost] DESC;

  

SELECT

    c.name AS databasename,

    c.equality_columns,

    c.inequality_columns,

    c.included_columns,

    c.statement AS tablename,

    c.avg_total_user_cost AS ReducingTheAverageCost,

    c.avg_user_impact AS PercentageOfRevenue,

    c.last_user_seek AS TheLastTimeTheEffectAfterUse,

    c.unique_compiles

FROM (SELECT

    a.name,

    b.*

FROM   (SELECT

           d.*,

           s.avg_total_user_cost,

           s.avg_user_impact,

           s.last_user_seek,

           s.unique_compiles

       FROM   sys.dm_db_missing_index_group_stats s,

              sys.dm_db_missing_index_groups g,

              sys.dm_db_missing_index_details d

       WHERE s.group_handle = g.index_group_handle

       AND d.index_handle = g.index_handle

       AND s.avg_user_impact > 90

       --AND s.unique_compiles > 10

       --order by s.avg_user_impact desc

       ) b,

       sys.databases a

WHERE a.database_id = b.database_id) c

WHERE c.name = xxxxx

ORDER BY PercentageOfRevenue DESC, unique_compiles DESC

 

以上是关于sqlserver2008 查看数据库自带的索引建议的主要内容,如果未能解决你的问题,请参考以下文章

SqlServer2008R2重组索引

sqlserver的索引

sqlserver中不用COMMIT吗

如何查看sql server 2008的SQL语句执行错误日志

SQLSERVER2008中创建数据库发生无法获得数据库'model'上的排他锁

如何将架构绑定添加到 SQL Server 2008 中的视图