The following limitations apply to the use of storage engines with user-defined partitioning of tables.
MERGE storage engine. 
          User-defined partitioning and the MERGE
          storage engine are not compatible. Tables using the
          MERGE storage engine cannot be partitioned.
          Partitioned tables cannot be merged.
        
FEDERATED storage engine. 
          Partitioning of FEDERATED tables is not
          supported. Beginning with MySQL 5.1.15, it is not possible to
          create partitioned FEDERATED tables at all.
          We are working to remove this limitation in a future MySQL
          release.
        
CSV storage engine. 
          Partitioned tables using the CSV storage
          engine are not supported. Starting with MySQL 5.1.12, it is
          not possible to create partitioned CSV
          tables at all.
        
BLACKHOLE storage engine. 
          Prior to MySQL 5.1.6, tables using the
          BLACKHOLE storage engine also could not be
          partitioned.
        
NDBCLUSTER storage engine (MySQL Cluster). 
          Partitioning by KEY (or LINEAR
          KEY) is the only type of partitioning supported for
          the NDBCLUSTER storage engine.
          Beginning with MySQL 5.1.12, it is not possible to create a
          MySQL Cluster table using any partitioning type other than
          [LINEAR] KEY, and
          attempting to do so fails with an error.
        
        In addition, the maximum number of partitions that can be
        defined for an NDBCLUSTER table is
        8 times the number of node groups in the cluster. (See
        Section 17.1.2, “MySQL Cluster Nodes, Node Groups, Replicas, and Partitions”, for more
        information about node groups in MySQL Cluster.)
      
        Beginning with MySQL Cluster NDB 6.2.18, MySQL Cluster NDB
        6.3.25, and MySQL Cluster NDB 7.0.6, CREATE
        TABLE and ALTER TABLE
        statements that would cause a user-partitioned
        NDBCLUSTER table not to meet either
        or both of the following two requirements are disallowed, and
        fail with an error (Bug#40709):
      
The table must have an explicit primary key.
All columns listed in the table's partitioning expression must be part of the primary key.
Exception. 
          If a user-partitioned NDBCLUSTER
          table is created using an empty column-list (that is, using
          PARTITION BY KEY() or PARTITION BY
          LINEAR KEY()), then no explicit primary key is
          required.
        
Upgrading partitioned tables. 
          When performing an upgrade, tables which are partitioned by
          KEY and which use any storage engine other
          than NDBCLUSTER must be dumped
          and reloaded.
        
Same storage engine for all partitions. All partitions of a partitioned table must use the same storage engine and it must be the same storage engine used by the table as a whole. In addition, if one does not specify an engine on the table level, then one must do either of the following when creating or altering a partitioned table:
Do not specify any engine for any partition or subpartition
Specify the engine for all partitions or subpartitions
We are working to remove this limitation in a future MySQL release.

User Comments
Add your own comment.