分区的修改
修改分区信息
语法格式
该语法项可用于将未分区表进行分区,也可以用于修改已分区表的分区信息。其中,’PARTITION BY NOTHING’用以清除表上的分区信息。各项参数说明可以参考ALTER TABLE章节和PARTITION BY章节。
修改分区物理归属地
语法格式如下:
- partition_name
分区名称。
- table_name
表名称。
- opt_locate_in
物理归属地属性。具体参考LOCATE IN章节。
分区修改示例
创建表格t5,并对主键列进行分区。
> CREATE TABLE t5 (c1 INT, c2 STRING, c3 INT, PRIMARY KEY(c1, c2));
CREATE TABLE
> ALTER TABLE t5 PARTITION BY RANGE(c1)(
PARTITION p1 VALUES FROM (0) TO (100),
PARTITION p2 VALUES FROM (100) TO (200)
);
ALTER TABLE
-- 等价于
> CREATE TABLE t5 (c1 INT, c2 STRING, c3 INT, PRIMARY KEY(c1, c2) PARTITION BY RANGE (c1) (
PARTITION p1 VALUES FROM (0) TO (100),
PARTITION p2 VALUES FROM (100) TO (200)
);
CREATE TABLE
修改表格t5分区信息。
> ALTER TABLE t5 PARTITION BY LIST(c1)(
PARTITION p1 VALUES IN(“tianjin”,”Tianjin”,”tj”,”TJ”) LOCATE IN “tianjin”,
PARTITION p2 VALUES IN(“beijing”,”Beijing”,”bj”,”BJ”) LOCATE IN “beijing”
);
ALTER TABLE
表t5中按照c1列分区,值为tianjin、Tianjin、tj或TJ的记录都落在标签为tianjin的节点上;值为beijing、Beijing、bj或BJ的记录都落在标签为beijing的节点上。
添加表t5归属地信息。
> ALTER TABLE t5 LOCATE IN “guangzhou”;
ALTER TABLE
删除表t5归属地信息。
> ALTER TABLE t5 LOCATE IN “”;
ALTER TABLE
修改表t5中分区p2的物理归属地信息。
> ALTER PARTITION p2 OF TABLE t5 LOCATE IN “guangzhou”;
ALTER TABLE
修改表t5的分区p2,满足分区要求的数据落在标签为guangzhou的节点上。
删除表t5中分区p2的物理归属地信息。
> ALTER PARTITION p2 OF TABLE t5 LOCATE IN “”;
ALTER TABLE
表t5的分区p2,删除掉物理归属地信息。
删除表t5分区信息。
> ALTER TABLE t5 PARTITION BY NOTHING;
ALTER TABLE