OceanBase 分区表修改分区使用 SPLIT PARTITION,下列描述错误的是()
A. 拆分分区会触发存量数据迁移
B. 拆分操作 DDL 默认在线执行,一般不锁全表
C. 拆分后分区数量只能增加不能减少
D. 拆分分区无法变更分区键
选择哪个
1 个赞
选项 C 错误
拆分分区(SPLIT PARTITION)确实会增加分区的数量,但这并不意味着分区数量“只能增加不能减少”。OceanBase 提供了 DROP PARTITION(删除分区)或 TRUNCATE PARTITION(清空分区)等语法,允许用户在需要时减少分区数量。因此,分区的数量是既能增加也能减少的。
选项 A 正确
SPLIT PARTITION 的本质是将一个现有的分区按照指定的边界拆分成两个新的分区。在这个过程中,原分区内落在新分区范围内的存量数据,必须在物理上被重新分配和迁移到新的子分区中,因此必然会触发存量数据的迁移。
选项 B 正确
OceanBase 的分布式架构支持在线 DDL(Online DDL)。在执行 SPLIT PARTITION 这类分区维护操作时,数据库通常不会锁住整张表,业务可以继续对表进行读写操作,保证了系统的高可用性。
选项 D 正确
SPLIT PARTITION 操作仅仅是改变分区的边界范围,将一个大的范围切分成两个小的范围。它无法改变表创建时就已经定义好的分区键(即按照哪一列或哪个表达式进行分区)。如果想要变更分区键,通常需要重建表或者使用极其复杂的迁移手段,单纯的拆分分区语法无法实现。