Sql server 2008 SQL Server-检测未编入索引但在WHERE子句中使用的列

Sql server 2008 SQL Server-检测未编入索引但在WHERE子句中使用的列,sql-server-2008,indexing,database-administration,Sql Server 2008,Indexing,Database Administration,如何检测WHERE子句中包含但在索引中使用的列 小背景: 在表中记录数很少之前,一切都会好起来,一旦它开始有数百万条记录,那么应该为存储过程中WHERE子句、内联查询等中使用的列创建索引 由于我们有数百个存储过程和查询,这些过程和查询经常被开发人员更改,因此我希望有一种自动的方法来识别那些在WHERE子句中使用的列,而不是创建索引的列。如何在SQL Server 2008中做到这一点?您应该首先确定您的昂贵查询:您应该首先确定您的昂贵查询:使用“缺少索引”的dmv内容来发现可以添加的内容 (这

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

小背景:

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


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

您应该首先确定您的昂贵查询:

您应该首先确定您的昂贵查询:

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

  • (这是加权的,所以你也知道成本)
编辑:我有资格。。。这允许您考虑基于成本/使用/收益的索引。 索引只能在周日04:00使用,因此从成本角度来看,它可能不值得使用

使用“缺少索引”的dmv材料来发现可以添加的内容

  • (这是加权的,所以你也知道成本)
编辑:我有资格。。。这允许您考虑基于成本/使用/收益的索引。 索引只能在周日的04:00使用,因此从成本角度来看,它可能不值得