Table of Contents
- 24.1 Overview of Partitioning in MySQL
- 24.2 Partitioning Types
- 24.3 Partition Management
- 24.4 Partition Pruning
- 24.5 Partition Selection
- 24.6 Restrictions and Limitations on Partitioning
This chapter discusses user-defined partitioning.
Table partitioning differs from partitioning as used by window functions. For information about window functions, see Section 12.20, “Window Functions”.
In MySQL 8.0, partitioning support is provided by the
NDB storage engines.
MySQL 8.0 does not currently support partitioning of
tables using any storage engine other than
NDB, such as
MyISAM. An attempt to create a
partitioned tables using a storage engine that does not supply
native partitioning support fails with
MySQL 8.0 Community binaries provided by Oracle include
partitioning support provided by the
NDB storage engines. For information about
partitioning support offered in MySQL Enterprise Edition binaries, see
Chapter 30, MySQL Enterprise Edition.
If you are compiling MySQL 8.0 from source, configuring
the build with
InnoDB support is sufficient to
produce binaries with partition support for
InnoDB tables. For more information, see
Section 2.8, “Installing MySQL from Source”.
Nothing further needs to be done to enable partitioning support by
InnoDB (for example, no special entries are
required in the
It is not possible to disable partitioning support by the
InnoDB storage engine.
See Section 24.1, “Overview of Partitioning in MySQL”, for an introduction to partitioning and partitioning concepts.
Several types of partitioning are supported, as well as subpartitioning; see Section 24.2, “Partitioning Types”, and Section 24.2.6, “Subpartitioning”.
Section 24.3, “Partition Management”, covers methods of adding, removing, and altering partitions in existing partitioned tables.
Section 24.3.4, “Maintenance of Partitions”, discusses table maintenance commands for use with partitioned tables.
PARTITIONS table in the
INFORMATION_SCHEMA database provides information
about partitions and partitioned tables. See
Section 26.3.21, “The INFORMATION_SCHEMA PARTITIONS Table”, for more
information; for some examples of queries against this table, see
Section 24.2.7, “How MySQL Partitioning Handles NULL”.
For known issues with partitioning in MySQL 8.0, see Section 24.6, “Restrictions and Limitations on Partitioning”.
You may also find the following resources to be useful when working with partitioned tables.
Additional Resources. Other sources of information about user-defined partitioning in MySQL include the following:
This is the official discussion forum for those interested in or experimenting with MySQL Partitioning technology. It features announcements and updates from MySQL developers and others. It is monitored by members of the Partitioning Development and Documentation Teams.
A MySQL news site featuring MySQL-related blogs, which should be of interest to anyone using my MySQL. We encourage you to check here for links to blogs kept by those working with MySQL Partitioning, or to have your own blog added to those covered.