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 numetSUBPARTITIONS num.
Opérations non prises en charge
Créer des partitions LINEAR HASH ou LINEAR KEY.
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
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
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.