95
微信
子分区__分区_SQL语法参考_云数据库 OceanBase-阿里云
子分区是分区表中每个分区的再次分割。
语法
...
PARTITON BY RANGE(expr)
SUBPARTITION BY HASH(expr)
...
举例
CREATE TABLE ts (id INT, purchased DATE)
PARTITION BY RANGE(YEAR(purchased))
SUBPARTITION BY HASH(TO_DAYS(purchased))
SUBPARTITIONS 2
(
PARTITION p0 VALUES LESS THAN (1990),
PARTITION p1 VALUES LESS THAN (2000),
PARTITION p2 VALUES LESS THAN MAXVALUE
);
表 ts 有 3 个 RANGE 分区。这 3 个分区中的每一个分区 p0, p1 和 p2 又被进一步分成了 2 个子分区。实际上,整个表被分成了 3 * 2 = 6 个分区。但是,由于 PARTITION BY RANGE 子句的作用,这些分区的头 2 个只保存“purchased”列中值小于 1990 的那些记录。等价于:
CREATE TABLE ts (id INT, purchased DATE)
PARTITION BY RANGE(YEAR(purchased))
SUBPARTITION BY HASH(TO_DAYS(purchased))
(
PARTITION p0 VALUES LESS THAN (1990)
(
SUBPARTITION s0,
SUBPARTITION s1
),
PARTITION p1 VALUES LESS THAN (2000)
(
SUBPARTITION s2,
SUBPARTITION s3
),
PARTITION p2 VALUES LESS THAN MAXVALUE
(
SUBPARTITION s4,
SUBPARTITION s5
)
);
几点要注意的语法项:
- 每个分区必须有相同数量的子分区。
- 如果在一个分区表上的任何分区上使用 SUBPARTITION 来明确定义任何子分区,那么就必须定义所有的子分区。换句话说,下面的语句将执行失败:
CREATE TABLE ts (id INT, purchased DATE)
PARTITION BY RANGE(YEAR(purchased))
SUBPARTITION BY HASH(TO_DAYS(purchased))
(
PARTITION p0 VALUES LESS THAN (1990)
(
SUBPARTITION s0,
SUBPARTITION s1
),
PARTITION p1 VALUES LESS THAN (2000),
PARTITION p2 VALUES LESS THAN MAXVALUE
(
SUBPARTITION s2,
SUBPARTITION s3
)
);
即便这个语句包含了一个 SUBPARTITIONS 2 子句,但是它仍然会执行失败。
每个 SUBPARTITION 子句必须包括 (至少)子分区的一个名字。否则,你可能要对该子分区设置任何你所需要的选项,或者允许该子分区对那些选项采用其默认的设置。
在每个分区内,子分区的名字必须是唯一的,但是在整个表中,没有必要保持唯一。例如,下面的 CREATE TABLE 语句是有效的:
CREATE TABLE ts (id INT, purchased DATE)
PARTITION BY RANGE(YEAR(purchased))
SUBPARTITION BY HASH(TO_DAYS(purchased))
(
PARTITION p0 VALUES LESS THAN (1990)
(
SUBPARTITION s0,
SUBPARTITION s1
),
PARTITION p1 VALUES LESS THAN (2000)
(
SUBPARTITION s0,
SUBPARTITION s1
),
PARTITION p2 VALUES LESS THAN MAXVALUE
(
SUBPARTITION s0,
SUBPARTITION s1
)
);
最后更新:2016-11-24 11:23:47
上一篇:
key分区__分区_SQL语法参考_云数据库 OceanBase-阿里云
下一篇:
NULL值处理__分区_SQL语法参考_云数据库 OceanBase-阿里云
角色管理__用户及授权管理_安全指南_大数据计算服务-阿里云
运行离线任务__应用管理_用户指南_容器服务-阿里云
DMS 登录云数据库__连接实例_快速入门_云数据库 Redis 版-阿里云
短信或邮件报网站后门__产品常见问题_服务器安全(安骑士)-阿里云
查询实例SSL链路__实例管理_API 参考_云数据库 RDS 版-阿里云
Topic 写入统计__发布订阅统计接口_Open API_消息队列 MQ-阿里云
在非阿里云的云服务器上使用服务器安全(安骑士)__产品常见问题_服务器安全(安骑士)-阿里云
其它 SDK__SDK使用手册_消息服务-阿里云
ApiHisItem__数据类型_API_API 网关-阿里云
RemoveConfigFromMachineGroup__Logtail机器组相关接口_API-Reference_日志服务-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云