功能描述
显式创建分区亲和性策略。
权限要求
无。
语法
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_numopt_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)