このトピックでは、MySQL データベースから OceanBase Database の 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 Database V4.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を使用します。