云数据库 TAURUSDB-INTERVAL RANGE:INTERVAL RANGE分区表与任意类型表的相互转换
INTERVAL RANGE分区表与任意类型表的相互转换
语法:
其他类型表转化为INTERVAL RANGE分区表。
ALTER TABLE table_name table_definition partition_options; partition_options: PARTITION BY { RANGE{(expr) | COLUMNS(column_list)} } { INTERVAL(type, value) | INTERVAL(value) } [(partition_definition [, partition_definition] ...)] partition_definition: PARTITION partition_name [VALUES LESS THAN {expr | MAXVALUE}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'string' ] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name]
INTERVAL子句关联参数说明:
参数名称 |
参数说明 |
---|---|
INTERVAL(value) |
使用RANGE(expr) 或者 RANGE COLUMNS(column_list)且column是整型字段时,INTERVAL子句的格式,其中value代表间隔数值,必须是正整数。 |
expr |
RANGE(expr)中的分区表达式,目前只支持整数类型。 |
column_list |
RANGE COLUMNS(column_list)的分区字段列表,在INTERVAL RANGE分区表中,column_list只能是单列。 |
INTERVAL(type, value) |
使用RANGE COLUMNS(column_list)且column_list是DATE/TIME/DATETIME类型时,INTERVAL子句的格式,其中type代表间隔类型,value代表间隔数值。 type目前支持8种时间类型(YEAR、QUARTER、MONTH、WEEK、DAY、HOUR、MINUTE、SECOND)。 value代表间隔数值,必须是正整数;当type为SECOND类型时,间隔不能小于60。 |
INTERVAL RANGE分区表转化为其他任意类型的表,这里partition_options是可选的。
ALTER TABLE table_name table_definition [partition_options];
示例:
将其他类型表转为INTERVAL RANGE表:
CREATE TABLE orders( orderkey BIGINT NOT NULL, custkey BIGINT NOT NULL, orderdate DATE NOT NULL ); ALTER TABLE orders PARTITION BY RANGE COLUMNS(orderdate) INTERVAL(MONTH, 1) ( PARTITION p0 VALUES LESS THAN('2021-10-01') );
将INTERVAL RANGE表转化为其他类型表:
CREATE TABLE orders (a INT, b DATETIME) PARTITION BY RANGE (a) INTERVAL(10) ( PARTITION p0 VALUES LESS THAN(10), PARTITION p2 VALUES LESS THAN(20) ); ALTER TABLE orders PARTITION BY LIST COLUMNS (a) ( PARTITION p0 VALUES IN (1, 11, 25) );
修改INTERVAL RANGE表的INTERVAL子句信息:
CREATE TABLE orders (a INT, b DATETIME) PARTITION BY RANGE (a) INTERVAL(10) ( PARTITION p0 VALUES LESS THAN(10), PARTITION p2 VALUES LESS THAN(20) ); ALTER TABLE orders PARTITION BY RANGE (a) INTERVAL(20) ( PARTITION p0 VALUES LESS THAN(10), PARTITION p2 VALUES LESS THAN(20) ); # 消除INTERVAL子句 ALTER TABLE orders PARTITION BY RANGE (a) ( PARTITION p0 VALUES LESS THAN(10), PARTITION p2 VALUES LESS THAN(20) ); # 添加INTERVAL子句 ALTER TABLE orders PARTITION BY RANGE (a) INTERVAL(100) ( PARTITION p0 VALUES LESS THAN(10), PARTITION p2 VALUES LESS THAN(20) );
- GaussDB数据库怎么转换类型_GaussDB安装_高斯数据库转换类型
- 云数据库 RDS 的实例类型有哪些
- 时序数据库_GeminiDB Influx 接口场景_免费_数据库资源_实时数据库和时序数据库
- GaussDB求日期差_GaussDB数据类型_高斯数据库求日期差-华为云
- 云数据库 RDS 的实例存储类型有哪些
- 云数据库免费_mysql数据库是免费的吗_有哪些数据库
- GaussDB如何建主键_数据库索引设计规范_高斯数据库如何建主键-华为云
- 云数据库Gaussdb数据库索引_华为gaussdb__gaussdb 数据库
- 全站加速WSA_HTTPS全站加速_网站加速
- GaussDB开发_GaussDB数据库开发_高斯数据库开发_华为云