May 4, 2010 at 3:22 am
I was given a task to find out overlapping indexes and disable from my db....can any one show me the path on how to find overlapping indexes??
May 4, 2010 at 4:38 am
NewBeeSQL (5/4/2010)
I was given a task to find out overlapping indexes and disable from my db....can any one show me the path on how to find overlapping indexes??
what do you mean by overlapping indexes? i think you require list of indexes which have not been usd for a long time.right ?
Additionally it is not recommended to remove any index.unless you are 100% sure that its removal will not give any bad imapct on performance.
-------Bhuvnesh----------
I work only to learn Sql Server...though my company pays me for getting their stuff done;-)
May 4, 2010 at 5:25 am
Nope..you misunderstood..
overlapping indexes are the indexes which overlapped over the columns...for example..if i have 3 indexes..
index 1 is on Table1 on col1,col2,col3
index 2 is on Table1 on col1,col2
index 3 is on table1 on col3,col2
now, which index to be removed and which ones to keep is the question??
May 4, 2010 at 5:28 am
NewBeeSQL (5/4/2010)
Nope..you misunderstood..overlapping indexes are the indexes which overlapped over the columns...for example..if i have 3 indexes..
index 1 is on Table1 on col1,col2,col3
index 2 is on Table1 on col1,col2
index 3 is on table1 on col3,col2
now, which index to be removed and which ones to keep is the question??
which are clustered which are non clus. ?
-------Bhuvnesh----------
I work only to learn Sql Server...though my company pays me for getting their stuff done;-)
May 6, 2010 at 9:35 am
it's not always bad to have overlapping indexes. They won't be used if they aren't needed.
But they will take up space.
May 6, 2010 at 9:43 am
NewBeeSQL (5/4/2010)
Nope..you misunderstood..overlapping indexes are the indexes which overlapped over the columns...for example..if i have 3 indexes..
index 1 is on Table1 on col1,col2,col3
index 2 is on Table1 on col1,col2
index 3 is on table1 on col3,col2
now, which index to be removed and which ones to keep is the question??
Index 2 can be removed, because it's keys are a left-based subset of another index (in this case, Index 1). That makes it a duplicate index.
Index 3 can not be removed. It is not redundant, it is not a left-based subset of another index.
If a query filters only on col2, col3, it can only see on Index 3, not on index 1.
http://sqlinthewild.co.za/index.php/2009/01/19/index-columns-selectivity-and-equality-predicates/
http://www.sqlservercentral.com/articles/Indexing/68636/
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability
May 10, 2010 at 1:45 am
May 11, 2010 at 7:18 am
I have done this evolution for numerous clients. I use sp_helpindex3 to generate the information on all indexes and then use my Mark I calibrated eyeballs and Excel to find the ones that can be removed. While I am at it I also check index usage metrics for unnecessary indexes as well.
http://www.mssqltips.com/tip.asp?tip=1003
Best,
Kevin G. Boles
SQL Server Consultant
SQL MVP 2007-2012
TheSQLGuru on googles mail service
Viewing 8 posts - 1 through 8 (of 8 total)
You must be logged in to reply to this topic. Login to reply
This website stores cookies on your computer.
These cookies are used to improve your website experience and provide more personalized services to you, both on this website and through other media.
To find out more about the cookies we use, see our Privacy Policy