【 使用环境 】测试环境
【 OB or 其他组件 】ObServer
【 使用版本 】4.0.0 CE
【问题描述】
如题,希望能够支持:
CREATE TABLE tbl1_lc (id INT,partition_id VARCHAR(2))
PARTITION BY LIST COLUMNS(partition_id);
无需指定分区规则,等价于自动创建/维护PARTITION VALUES IN ({partition_id的值})
外部数据源ETL进入OB,PARTITION VALUE实际是不太可控的,无法穷举预先创建。
目前此需求可以使用KEY分区局部代替:
CREATE TABLE tbl1_k(id INT,gmt_create DATETIME,info VARCHAR(20))
PARTITION BY KEY(id,gmt_create) PARTITIONS 10;
但是这个方案有几个使用的缺陷:
- KEY分区不支持DROP Partition,只能使用delete from where id = xx and gmt_create = xx代替,效率很低;
- PARTITIONS数不太好把控;