本文为您介绍迁移 MySQL 数据库的数据至 OceanBase 数据库 MySQL 租户时,ALTER TABLE DDL 有关分区操作同步支持的范围。
总览
ALTER TABLE tbl_name partition_options
partition_options:
partition_option [partition_option] ...
partition_option: {
ADD PARTITION (partition_definition)
| DROP PARTITION partition_names
| DISCARD PARTITION {partition_names | ALL} TABLESPACE
| IMPORT PARTITION {partition_names | ALL} TABLESPACE
| TRUNCATE PARTITION {partition_names | ALL}
| COALESCE PARTITION number
| REORGANIZE PARTITION partition_names INTO (partition_definitions)
| EXCHANGE PARTITION partition_name WITH TABLE tbl_name [{WITH | WITHOUT} VALIDATION]
| ANALYZE PARTITION {partition_names | ALL}
| CHECK PARTITION {partition_names | ALL}
| OPTIMIZE PARTITION {partition_names | ALL}
| REBUILD PARTITION {partition_names | ALL}
| REPAIR PARTITION {partition_names | ALL}
| REMOVE PARTITIONING
}
支持的范围
支持
ADD PARTITION
添加 RANGE 分区。支持
ADD PARTITION
添加 LIST 分区。支持删除分区:
DROP PARTITION
。支持通过指定分区名称的方式删除分区中的行。示例如下:
ALTER TABLE T TRUNCATE PARTITION P0; ALTER TABLE T TRUNCATE PARTITIONS P0,P1;
支持
ALTER TABLE...PARTITION BY...
重定义分区。示例如下:ALTER TABLE orders PARTITION BY HASH(order_id) PARTITIONS 3;
重要仅 OceanBase 数据库 4.0.0 及以上版本支持。
不支持的范围
重要
如果同步的 DDL 包含以下不支持的定义,则整个建表语句会转换失败(输出空)。
不支持
ADD PARTITION
添加 HASH 分区。不支持
TRUNCATE PARTITION
。不支持
DISCARD PARTITION
。不支持
IMPORT PARTITION
。不支持
COALESCE PARTITION
。不支持
REORGANIZE PARTITION
。不支持
EXCHANGE PARTITION
。不支持
ANALYZE PARTITION
。不支持
CHECK PARTITION
。不支持
OPTIMIZE PARTITION
。不支持
REBUILD PARTITION
。不支持
REPAIR PARTITION
。不支持
REMOVE PARTITIONING
。