How to Design Indexes, Really
MySQL users commonly ask: Here's my table, what indexes do I need? Why aren't my indexes helping me? Don't indexes cause overhead? This talk gives you some practical answers, with a step by step method for finding the queries you need to optimize, and choosing the best indexes for them.
I describe some of the misconceptions about indexing, identify common questions, and cover these main topics:
How do I find the queries I need indexes for?
How do I know what columns to add to an index?
How do I know what order to add columns to the index? Why does it matter?
What do I do about performance overhead of indexes?
What are best practices of using indexes as my project grows?