An index is a copy
- Any columns involved in queries should be covered by an index
- but avoid redundant and unused index.
- sometimes an index prefix is nedeed and sufficient.
- Use an OR to return records satisfying one or more of several conditions
- but a union might be necessary to exploit the indexesa
- Is there's an index over all the fields in your query, you're all set
- if the Mysql is making the wrong choice, help it make the right one.
- Avoid redundant data across tables
- except when reads are slow, read/write ratio is high you can denormalize.