全部產品
Search
文件中心

ApsaraDB for OceanBase:分區操作

更新時間:Jul 01, 2024

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