云数据库 GAUSSDB(FOR MYSQL)-INTERVAL RANGE:创建INTERVAL RANGE分区表

时间:2024-09-11 14:19:52

创建INTERVAL RANGE分区表

INTERVAL RANGE分区表定义格式类似于RANGE分区表,但多了INTERVAL子句。

语法:

CREATE TABLE [IF NOT EXISTS] [schema.]table_name
table_definition
partition_options;

其中,partition_options为:

PARTITION BY
    RANGE {(expr) | COLUMNS(column_list)}
    {INTERVAL(value) | INTERVAL(type, expr)}
    (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子句仅支持设置间隔数值(value)和间隔类型(type)。

INTERVAL子句关联参数说明:

表2 参数说明

参数名称

参数说明

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。

间隔数值(value)和间隔类型(type)的进一步说明:

support.huaweicloud.com/kerneldesc-gaussdbformysql/gaussdbformysql_20_0051.html