Table of Contents Chapter 24 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.21, “Window Functions” . MySQL 8.0 does not currently support partitioning of tables using any storage engine other than  InnoDB or  NDB , such as  MyISAM . An attempt to create a partitioned tables using a storage engine that does not supply native partitioning support fails with  ER_CHECK_NOT_IMPLEMENTED . In MySQL 8.0, partitioning support is provided by the  InnoDB  and  NDB  storage engines. MySQL 8.0 Community binaries provided by Oracle include partitioning support provided by the  InnoDB and  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.9, “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  my.cnf  file). See Section 24.1, “Overview of Partitioning in MySQL” , for an introduction to partitioning and partitioning concepts. It is not possible to disable partitioning support by the  InnoDB  storage engine. 4655 Note 24.1 Overview of Partitioning in MySQL ......................................................................................... 4656 24.2 Partitioning Types ................................................................................................................. 4659 24.2.1 RANGE Partitioning .................................................................................................... 4661 24.2.2 LIST Partitioning ......................................................................................................... 4665 24.2.3 COLUMNS Partitioning ............................................................................................... 4667 24.2.4 HASH Partitioning ...................................................................................................... 4675 24.2.5 KEY Partitioning ......................................................................................................... 4678 24.2.6 Subpartitioning ........................................................................................................... 4680 24.2.7 How MySQL Partitioning Handles NULL ...................................................................... 4681 24.3 Partition Management ........................................................................................................... 4686 24.3.1 Management of RANGE and LIST Partitions ............................................................... 4687 24.3.2 Management of HASH and KEY Partitions .................................................................. 4693 24.3.3 Exchanging Partitions and Subpartitions with Tables .................................................... 4694 24.3.4 Maintenance of Partitions ........................................................................................... 4701 24.3.5 Obtaining Information About Partitions ......................................................................... 4703 24.4 Partition Pruning ................................................................................................................... 4705 24.5 Partition Selection ................................................................................................................. 4708 24.6 Restrictions and Limitations on Partitioning ............................................................................ 4714 24.6.1 Partitioning Keys, Primary Keys, and Unique Keys ....................................................... 4720 24.6.2 Partitioning Limitations Relating to Storage Engines ..................................................... 4724 24.6.3 Partitioning Limitations Relating to Functions ............................................................... 4725