SQL Server - 检测非索引列但在WHERE子句中使用

时间:2010-04-04 07:48:13

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

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

小背景:

直到表的记录数量很少,一旦它开始有数百万条记录,那么应该为存储过程,内联查询等中的WHERE子句中使用的列创建索引

由于我们有数百个存储过程和查询经常被开发人员更改,我希望能够自动识别WHERE子句中使用的列,但不创建索引。如何在SQL Server 2008中执行此操作?

2 个答案:

答案 0 :(得分:4)

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

  • Example(这是加权的,因此您也了解费用)
  • MSDN

编辑:我将符合资格......这允许您根据成本/使用/收益考虑索引。 索引只能在星期日04:00使用,因此从成本角度来看,它可能不值得

答案 1 :(得分:0)

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