CREATE PARTITION POLICY

最近更新时间:2025-09-09 18:25:01

我的收藏

功能描述

显式创建分区亲和性策略。

权限要求

无。

语法

CREATE PARTITION POLICY [IF not EXISTS] partition_policy_name
[partition_clause] [opt_using_distribution_policy];
partition_clause:
PARTITION BY HASH (INT) PARTITIONS partition_num
PARTITION BY KEY COLUMNS columns_num PARTITIONS partition_num
opt_using_distribution_policy:
USING DISTRIBUTION POLICY distribution_policy_name

参数说明

参数
是否必选
说明
partition_policy_name
必选
分区亲和性策略的名称。
partition_clause
可选
用于指定分区亲和性策略的结构。
如果不指定,则创建的是非分区结构的亲和性策略(用于普通表的绑定)。
如果指定,则创建具有分区结构的亲和性策略(用于分区表的绑定)。
其中partition_num 指定分区数量,columns_num指定分区列的数量,只有当分区表的属性与之相符时,才能绑定成功。
opt_using_distribution_policy
可选
用于指定亲和性策略是否绑定了分布式策略。请提前创建数据分布策略,详细请咨询技术支持工程师。

示例

创建非分区结构的亲和性策略。
tdsql [(none)]> CREATE PARTITION POLICY pp1;
Query OK, 0 rows affected (0.07 sec)
创建一级 hash 4分区结构的亲和性策略。
tdsql [(none)]> CREATE PARTITION POLICY pp2 PARTITION BY HASH(int) PARTITIONS 4;
Query OK, 0 rows affected (0.02 sec)
创建非分区结构的亲和性策略(绑定了数据分布策略)。
tdsql [(none)]> CREATE PARTITION POLICY pp3 USING DISTRIBUTION POLICY dp_1;
Query OK, 0 rows affected (0.01 sec)
创建一级 hash 4分区结构的亲和性策略(绑定了数据分布策略)。
tdsql [(none)]> CREATE PARTITION POLICY pp4
-> PARTITION BY HASH(int)
-> PARTITIONS 4
-> USING DISTRIBUTION POLICY dp_2;
Query OK, 0 rows affected (0.02 sec)
创建一级 key 分区列数为2,分区数为4的亲和性策略。
tdsql [(none)]> CREATE PARTITION POLICY pp2
-> PARTITION BY KEY COLUMNS 2
-> PARTITIONS 4;
Query OK, 0 rows affected (0.02 sec)