【问题标题】:SQL Server - Detecting non-indexed columns but used in WHERE clauseSQL Server - 检测非索引列但在 WHERE 子句中使用
【发布时间】:2010-04-04 07:48:12
【问题描述】:

如何检测包含在 WHERE 子句中但用于索引的列?

小背景:

在表的记录数很少之前一切都会好起来的,一旦它开始有数百万条记录,则应该为存储过程中 WHERE 子句中使用的列创建索引,内联查询等,

由于我们有数百个存储的过程和查询,这些过程和查询经常被开发人员更改,我希望有一种自动化的方式来识别那些在 WHERE 子句中使用但未创建索引的列。如何在 SQL Server 2008 中做到这一点?

【问题讨论】:

    标签: sql-server-2008 indexing database-administration


    【解决方案1】:

    使用“缺失索引”dmv 内容来发现可以添加的内容?

    • Example(这是加权的,所以你也知道成本)
    • MSDN

    编辑:我有资格...这允许您考虑基于成本/使用/收益的索引。 索引只能在周日 04:00 使用,因此从成本角度来看可能不值得

    【讨论】:

      【解决方案2】:

      您应该首先确定您的昂贵查询:How Can I Log and Find the Most Expensive Queries?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-14
        • 2010-12-25
        • 2023-01-26
        • 2014-07-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多