Index Columns and Names – How large are all of your indexes, what key columns do they have, and what included columns do they have? I’m not sure why this isn’t listed right in the GUI…
Indexes – Unused and Duplicates – Unused indexes still have the overhead of having an index. Duplicate indexes (where two indexes could be merged into one reusable index) are even worse, double the maintenance and causing a fight for space in memory.
Indexes – Understanding basic types and their components – A descent intro to indexes. Personally, I feel I did much better in Indexing Fundamentals.
Indexing Fundamentals – If you’re shaky on what indexes are and how they work, read this one.
Indexing Strategy – Lots and lots of information that comes down to making indexes reusable. This was really too much of a subject for a single post, and it was definitely too much for the presentation I tried to give on the topic. Very useful, but needs to be rewritten as a series of posts which is a format that would allow some expansion and less jumping around.
Picking a Clustered Index – Most people assume a primary key is a clustered index. While that’s typically the best thing to do, it’s not always the best thing to do.
Use Compression to Combine Data Quality and Performance – Data types should be chosen because they’re the smallest type that fits future needs. To avoid picking types that are too small for future needs, find intelligent ways to use compression.
Data Compression – Great feature with a bad rep. It costs CPU as everyone says, but it saves CPU, too.
It’s a stretch
Indexes are typically at least half of your memory, and much more than that on larger servers. So I don’t feel any indexing conversation is complete without getting into memory management.
Fixing Page Life Expectancy (PLE) – This post should really be called Buffer Pool Memory Management, but the name change would break links and destroy search engine placement. I’m very proud of this one, and chances are this is how you found my blog.