Tous les produits
Search
Centre de documentation

ApsaraDB for OceanBase (Deprecated):Créer des partitions

Dernière mise à jour :Aug 09, 2026

Cette rubrique décrit la portée de conversion prise en charge pour les opérations DDL CREATE TABLE visant à créer des partitions lors de la migration de données d'une base de données MySQL vers un locataire MySQL d'OceanBase Database.

Syntaxe

partition_options:
    PARTITION BY
        { [LINEAR] HASH(expr)
        | [LINEAR] KEY [ALGORITHM={1 | 2}] (column_list)
        | RANGE{(expr) | COLUMNS(column_list)}
        | LIST{(expr) | COLUMNS(column_list)} }
    [PARTITIONS num]
    [SUBPARTITION BY
        { [LINEAR] HASH(expr)
        | [LINEAR] KEY [ALGORITHM={1 | 2}] (column_list) }
      [SUBPARTITIONS num]
    ]
    [(partition_definition [, partition_definition] ...)]

partition_definition:
    PARTITION partition_name
        [VALUES
            {LESS THAN {(expr | value_list) | MAXVALUE}
            |
            IN (value_list)}]
        [[STORAGE] ENGINE [=] engine_name]
        [COMMENT [=] 'string' ]
        [DATA DIRECTORY [=] 'data_dir']
        [INDEX DIRECTORY [=] 'index_dir']
        [MAX_ROWS [=] max_number_of_rows]
        [MIN_ROWS [=] min_number_of_rows]
        [TABLESPACE [=] tablespace_name]
        [(subpartition_definition [, subpartition_definition] ...)]

subpartition_definition:
    SUBPARTITION logical_name
        [[STORAGE] ENGINE [=] engine_name]
        [COMMENT [=] 'string' ]
        [DATA DIRECTORY [=] 'data_dir']
        [INDEX DIRECTORY [=] 'index_dir']
        [MAX_ROWS [=] max_number_of_rows]
        [MIN_ROWS [=] min_number_of_rows]
        [TABLESPACE [=] tablespace_name]

Opérations prises en charge

  • Créez des partitions RANGE, LIST, HASH ou KEY.

  • Créez des sous-partitions HASH ou KEY.

  • Spécifiez une clé de partitionnement par fonction (une expression ou une fonction) ou une clé de partitionnement par colonne (un champ) pour les partitions RANGE, LIST et HASH. Spécifiez une clé de partitionnement par colonne pour les partitions KEY.

  • Spécifiez les options PARTITIONS num et SUBPARTITIONS num.

Opérations non prises en charge

Créer des partitions LINEAR HASH ou LINEAR KEY.

Important

Si l'instruction DDL synchronisée pour la création d'une partition contient des définitions non prises en charge, la définition de partition générée sera vide, mais le schéma de la table sera conservé (la définition de partition étant ignorée).

Clauses et options ignorées

Important

Les clauses et options suivantes seront ignorées et ne seront ni résolues ni converties lorsqu'elles sont spécifiées dans les instructions DDL synchronisées.

  • ENGINE

  • COMMENT

  • DATA DIRECTORY

  • INDEX DIRECTORY

  • MAX_ROWS

  • MIN_ROWS

  • TABLESPACE

  • ALGORITHM (pour les partitions KEY)

    PARTITION BY KEY ALGORITHM={1 | 2} (column_list) -> PARTITION BY KEY (column_list)

Limites

Important

En raison des limites des locataires MySQL d'OceanBase Database, une erreur peut être renvoyée lorsque les instructions DDL synchronisées sont converties et exécutées dans un locataire MySQL d'OceanBase Database dans les scénarios suivants :

  • Les locataires MySQL d'OceanBase Database ne prennent pas en charge l'utilisation de champs de certains types comme clé de partitionnement.

  • Les locataires MySQL d'OceanBase Database ne prennent pas en charge l'utilisation de certaines fonctions ou expressions comme clé de partitionnement.