合并二级分区¶
Range_subpartition_desc中只能定义table_parttioning_decription中表空间,其他属性均不能自由定义。
list_subpartition_desc中只能定义table_parttioning_decription中表空间,其他属性均不能自由定义。
使用合并分区时,应注意以下规则:
- 被合并的二级子分区表必须属于同一个一级子分区表。
- 合并后的二级子分区表将继承一级子分区表的所有属性,除非用户自行为它定义新的属性。
- 与被合并的二级子分区表相关的局部分区索引,会被自行合并之后被标记为unusable。
- 进行合并分区后,基于主表的全局分区索引,全局非分区索引,局部分区索引都会失效。
示例:合并二级分区¶
下面的例子将二级子分区表p1_sub2和p1_sub3合并到二级子分区表p1_sub2
-- 清理环境
DROP TABLE tab;
-- 创建分区表
CREATE TABLE tab
(
c1 int,
c2 varchar(2)
)
PARTITION BY RANGE(C1)
SUBPARTITION BY LIST(C2)
(
PARTITION p1 VALUES LESS THAN(10)
(
SUBPARTITION p1_sub1 VALUES ('A1', 'A2'),
SUBPARTITION p1_sub2 VALUES ('B1', 'B2', 'B3'),
SUBPARTITION p1_sub3 VALUES ('C1', 'C2', 'C3')
),
PARTITION p2 VALUES LESS THAN(20)
);
ALTER TABLE tab MERGE SUBPARTITIONS p1_sub2, p1_sub3 INTO SUBPARTITION p1_sub2 ;
-- 删除表和表空间
DROP TABLE tab CASCADE;