8.2.1 Optimizing SELECT Statements

8.2.1.1 Speed of SELECT Statements
8.2.1.2 How MySQL Optimizes WHERE Clauses
8.2.1.3 Range Optimization
8.2.1.4 Index Merge Optimization
8.2.1.5 Engine Condition Pushdown Optimization
8.2.1.6 Index Condition Pushdown Optimization
8.2.1.7 Use of Index Extensions
8.2.1.8 IS NULL Optimization
8.2.1.9 LEFT JOIN and RIGHT JOIN Optimization
8.2.1.10 Nested-Loop Join Algorithms
8.2.1.11 Nested Join Optimization
8.2.1.12 Outer Join Simplification
8.2.1.13 Multi-Range Read Optimization
8.2.1.14 Block Nested-Loop and Batched Key Access Joins
8.2.1.15 ORDER BY Optimization
8.2.1.16 GROUP BY Optimization
8.2.1.17 DISTINCT Optimization
8.2.1.18 Subquery Optimization
8.2.1.19 Optimizing LIMIT Queries
8.2.1.20 How to Avoid Full Table Scans

Queries, in the form of SELECT statements, perform all the lookup operations in the database. Tuning these statements is a top priority, whether to achieve sub-second response times for dynamic web pages, or to chop hours off the time to generate huge overnight reports.