本文為您介紹遷移 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
。