tencent cloud

TDSQL Boundless

产品动态
产品简介
产品概述
应用场景
产品架构
实例类型
兼容性说明
使用规范建议
自研内核
内核概述
内核版本更新动态
功能类特性
性能类特性
产品计费
计费概述
购买方式
价格详情
续费说明
欠费说明
退费说明
快速入门
创建实例
连接实例
用户指南
数据迁移
数据同步/订阅
实例管理
参数配置
账号管理
安全组
备份与恢复
数据库审计
标签管理
实践教程
Online DDL 的技术演进与使用实践
锁机制解析与问题排查实践
数据智能调度及相关性能优化实践
TDSQL Boundless 选型指南与实践教程
开发指南
开发指南(MySQL 兼容模式)
开发指南(HBase 兼容模式)
性能调优
性能调优概述
SQL 调优
DDL 调优
性能白皮书
性能概述
TPC-C 测试
Sysbench 测试
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Security Group APIs
Task APIs
Backup APIs
Rollback APIs
Parameter APIs
Database APIs
Data Types
Error Codes
通用参考
系统原理
SQL 参考
数据库参数说明
TPC-H 基准测试数据模型参考
错误码信息
安全与合规
常见问题
服务协议
服务等级协议
服务条款
隐私政策
数据处理和安全协议
联系我们
词汇表

CREATE PARTITION POLICY

PDF
聚焦模式
字号
最后更新时间: 2026-02-10 10:46:26

功能描述

显式创建分区亲和性策略。亲和性可用于控制数据的放置方式以及数据之间的亲和关系使其在自动调度时遵守预设的策略。通过亲和性策略,用户可实现将不同表的分区绑定在同一物理节点,减少分布式开销的效果。

权限要求

无。

语法

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)


tdsql [test]> CREATE TABLE tbl1(id INT) USING PARTITION policy pp1;
Query OK, 0 rows affected

tdsql [test]> CREATE TABLE tbl2(id INT) USING PARTITION policy pp1;
Query OK, 0 rows affected
在上述策略下,tbl1 和 tbl2 会保持在同一个节点存放。
创建一级 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)
创建绑定分区亲和性策略的表。
# 创建分区亲和性策略(hash 4分区)
tdsql [test]> CREATE PARTITION policy pp2 PARTITION BY HASH(INT) partitions 4;
Query OK, 0 rows affected

# 建表
tdsql [test]> CREATE TABLE orders(id INT) PARTITION BY HASH(id) partitions 4 USING PARTITION policy pp2;
Query OK, 0 rows affected

tdsql [test]> CREATE TABLE order_details(id INT, oid, detail TEXT) PARTITION BY HASH(oid) partitions 4 USING PARTITION policy pp2;
Query OK, 0 rows affected
通过上述 SQL,表 orders 和 order_details 的 HASH 分区会进行亲和性绑定,使得 HASH 值一致的分区在放置以及调度迁移的时候保持在相同节点。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈