MySQL does not scan partitions where there are no matching values; this is automatic and is called partition pruning. The MySQL optimizer evaluates the partitioning expression for the value given, determines which partition contains that value, and scans only that partition.
SELECT
, DELETE
, and UPDATE
statements support partition pruning. INSERT
statements currently cannot be pruned.
You can also explicitly specify partitions and subpartitions for rows matching a given WHERE
condition.
Partition pruning applies only to queries, but explicit selection of partitions is supported for both queries and a number of DML statements.