天天看点

开发指南—DDL语句—分区表语法—ALTER TABLEGROUP

语法

ALTER TABLEGROUP tg_name alter_tablegroup_specification;      
  • 分区组分裂
-- 对于Range分区,支持以下语法:
-- 将分区分裂成指定范围的多个分区
ALTER TABLEGROUP tg_name split PARTITION identifier INTO
 (partition_definition,partition_definition, [, partition_definition] ...);
 
 partition_definition:
    PARTITION partition_name
        [VALUES
            {LESS THAN {(value_list) | MAXVALUE}
            |
            IN (value_list)}]
 
-- 对于Range分区,支持以下语法
-- 按照指定值将一个range分区一分为二
ALTER TABLEGROUP tg_name split PARTITION partition_name at(number) into
 (PARTITION partition_name,
  PARTITION partition_name);
  
-- 对于List分区,支持以下语法:
ALTER TABLEGROUP tg_name split PARTITION partition_name into
 (partition_definition,partition_definition, [, partition_definition] ...);
 
-- 对于Hash分区,支持以下语法:
-- 用分区均值作为分裂点,将一个分区切分为两个分区
ALTER TABLEGROUP tg_name SPLIT PARTITION partition_name; 
-- 将热点值提取到单独到分区
ALTER tablegroup tgName extract to partition by hot value(xxx)      
  • 分区合并将多个分区(两个或者两个以上)合并成一个分区。
ALTER TABLEGROUP tg_name MERGE PARTITIONS partition_name,...,partition_name TO partition_name;
e.g.
ALTER TABLEGROUP tbl_tg MERGE PARTITIONS p2,p3 to p23;      
  • 分区迁移将分区迁移到指定的DN节点。
ALTER TABLEGROUP tg_name MOVE PARTITIONS partition_name,...,partition_name TO dn_id
e.g.
ALTER TABLEGROUP tg_name MOVE PARTITIONS p2,p4 to 'dn-0' ;      
  • 增加分区对于Range/List策略的分区组,支持增加分区。
ALTER TABLEGROUP tg_name add partition (partition_definition [,partition_definition] ...)      
  • 删除分区对于Range/List分区策略的分区组,支持删除分区。
ALTER TABLEGROUP tg_name drop partition partitiion_name [,partition_name] ...      
  • 重命名分区
ALTER TABLEGROUP tg_name rename partition partitiion_name to partitiion_name[, partitiion_name to partitiion_name]      
  • 修改分区值只支持对list/list column分区策略的分区修改分区值。
ALTER TABLEGROUP tg_name modify partition_name add/drop values in (value_list)