我们希望用户能够基于每个分区指定列族的名称,这意味着每个分区不一定有一个列族,并且应该可以在不同的分区之间共享列族,我们来看一个简单的例子:
CREATE TABLE sample (
c1 INT,
c2 INT,
name VARCHAR(25),
event DATE,
PRIMARY KEY (`c1`, `c2`)
COMMENT 'p0_cfname=name_for_cf;p1_cfname=name_for_another_cf;
p2_cfname=name_for_cf;p3_cfname=rev:name_for_reverse_cf'
) ENGINE=ROCKSDB
PARTITION BY LIST(c1) (
PARTITION p0 VALUES IN (1, 4, 7),
PARTITION p1 VALUES IN (2, 5, 8),
PARTITION p2 VALUES IN (3, 6, 9),
PARTITION p3 VALUES IN (10, 11, 12),
PARTITION p4 VALUES IN (20, 30, 40),
);
在此示例中,创建了一个包含五个不同分区的表:{p0,p1,p2,p3,p4},这些分区将分配以下列族。
p0 = name_for_cf
p1 = name_for_another_cf
p2 = name_for_cf
p3 = rev:name_for_reverse_cf
你将注意到 p0 和 p2 共享了相同的列族。 p1 和 p3 都属于不同的一个,p4分配了一个默认的列族。
与验证和指定诶个分区限定符相关的问题:
如果需要更改分区布局(包括分区定义和COMMENT的内容),则需要使用由各种ALTER TABLE语句组成的标准MySQL序列