views:

29

answers:

2

How to detect a column included in WHERE clause but used in indexed?

Little Background:

Until the time the table has few number of records things will be okay, once it started having millions of records then index should be created for a column which is used in WHERE clauses in stored procs, inline queries etc.,

Since we have hundreds of stored procs and queries that often gets changed by the devs I wanted to have a automated way of identifying those columns that are used in WHERE clauses but not an index is created. How to do that in SQL Server 2008?

A: 

You should first identify your expensive queries: How Can I Log and Find the Most Expensive Queries?

Mitch Wheat
+3  A: 

Use the "Missing indexes" dmv stuff to spot what could be added?

  • Example (this is weighted so you have an idea of cost too)
  • MSDN

Edit: I'll qualify... this allows you to consider indexes based on cost/use/benefit. An index may only be used at 04:00 on a Sunday, so from a cost perspective it's probably not worth it

gbn