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.

MySQL Cluster supports a join pushdown optimization whereby a qualifying join is sent in its entirety to MySQL Cluster data nodes, where it can be distributed among them and executed in parallel. For more information about this optimization, see Conditions for NDB pushdown joins,