Este tema describe el alcance de conversión compatible para las operaciones DDL CREATE TABLE que crean particiones durante la migración de datos desde una base de datos MySQL hacia un inquilino MySQL de OceanBase Database.
Sintaxis
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]
Operaciones compatibles
Cree particiones RANGE, LIST, HASH o KEY.
Cree subparticiones HASH o KEY.
Especifique una clave de particionamiento por función (una expresión o una función) o una clave de particionamiento por columna (un campo) para particiones RANGE, LIST y HASH. Para particiones KEY, especifique una clave de particionamiento por columna.
Especifique las opciones PARTITIONS num y SUBPARTITIONS num.
Operaciones no compatibles
No se admite la creación de particiones LINEAR HASH ni LINEAR KEY.
Si la sentencia DDL sincronizada para crear una partición contiene definiciones no compatibles, la definición de partición generada quedará vacía, pero se conservará el esquema de la tabla y se descartará únicamente la definición de la partición.
Cláusulas y opciones ignoradas
A continuación se listan las cláusulas y opciones que se ignorarán; no se analizarán ni convertirán cuando se especifiquen en sentencias DDL sincronizadas.
ENGINE
COMMENT
DATA DIRECTORY
INDEX DIRECTORY
MAX_ROWS
MIN_ROWS
TABLESPACE
-
ALGORITHM (para particiones KEY)
PARTITION BY KEY ALGORITHM={1 | 2} (column_list) -> PARTITION BY KEY (column_list)
Límites
Debido a los límites de los inquilinos MySQL de OceanBase Database, es posible que se devuelva un error al convertir y ejecutar sentencias DDL sincronizadas en dichos inquilinos en los siguientes escenarios:
Los inquilinos MySQL de OceanBase Database no admiten el uso de campos de ciertos tipos como clave de particionamiento.
Los inquilinos MySQL de OceanBase Database no admiten el uso de ciertas funciones o expresiones como clave de particionamiento.