二级分区是按照两个维度来把数据拆分成分区的操作。最常用的地方是类似用户账单的场景。
二级分区有:
- Hash/Key + Range/Range_Columns 分区
- Range/Range_Columns + Hash/Key 分区
- List/List_Columns+ Range/Range_Columns 分区
- Range/Range_Columns + List/List_Columns分区
- Hash/Key + List/List_Columns 分区
- List/List_Columns+Hash/Key 分区
OceanBase 目前只支持二级分区的模版化定义,即每个一级分区下的二级分区个数和定义方式相同,例如,以下的分区建表语句是不支持的:
CREATE TABLE t2
(
c1 INT,
c2 INT
)
PARTITION BY RANGE(c1)
SUBPARTITION BY HASH(c2)
(
PARTITION p0 VALUES less than(100) (SUBPARTITION sp0),
PARTITION p1 VALUES less than(200) (SUBPARTITION sp2, SUBPARTITION sp3)
);