PARTITION_POLICIES

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

我的收藏

功能

INFORMATION_SCHEMA.PARTITION_POLICIES用于查询系统当中存在的 PARTITION POLICY 规则,INFORMATION_SCHEMA.PARITTION_POLICIESINFORMATION_SCHEMA.PARTITION_POLICY_PARTITIONS组成 PARTITION POLICY 规则定义,类似于INFORMATION_SCHEMA.TABLESINFORMATION_SCHEMA.PARTITIONS

字段说明

字段名
类型
描述
ID
BIGINT UNSIGNED
每个 PARTITION POLICY 拥有唯一 ID。
NAME
VARCHAR(64)
每个 PARTITION POLICY 拥有唯一 NAME。
PARTITION_TYPE
ENUM
分区类型,支持
HASH:基于给定列的哈希函数结果进行分区。
KEY_51:类似于 HASH 方式,但可以指定多个列,数据内核计算这些列的哈希函数结果进行分区。
KEY_55:类似于 KEY_51,KEY_51和 KEY_55 内部采用哈希算法不同
LINEAR_HASH:线性哈希分区,与 HASH 类似,但使用线性哈希算法,使得数据分布更均匀。
LINEAR_KEY_51:类似于 KEY_51,但采用线性哈希算法。
LINEAR_KEY_55:类似于 KEY_55,但采用线性哈希算法。
RANGE:基于给定列的范围进行分区。每个分区包含某一范围内的数据。
LIST:基于给定列的离散值列表进行分区。
RANGE_COLUMNS:类似于 RANGE 分区,但允许基于多个列的范围进行分区。
LIST_COLUMNS:类似于 LIST 分区,但允许基于多个列的离散值列表进行分区。
AUTO:自动分区类型,系统会根据数据的特点自动选择合适的分区策略。
AUTO_LINEAR:自动线性分区类型,系统会根据数据的特点自动选择合适的线性分区策略。
PARTITION_EXPRESSION
VARCHAR(2048)
创建表的当前分区方案的 CREATE TABLEALTER TABLE语句中使用的分区函数的表达式。
SUBPARTITION_TYPE
ENUM
子分区类型,支持
HASH
KEY_51
KEY_55
LINEAR_HASH
LINEAR_KEY_51
LINEAR_KEY_55
SUBPARTITION_EXPRESSION
VARCHAR(2048)
子分区表达式,定义方式同PARTITION_EXPRESSION
HIDDEN
ENUM('Explicit', 'Implicit')
用户显式创建出的 PARTITION POLICY 或是数据库自动创建的隐式 PARTITION POLICY。
SE_PRIVATE_DATA
MEDIUMTEXT
预留字段。

示例

tdsql> SELECT * FROM information_schema.partition_policies;
+----+----------------+----------------+----------------------+-------------------+-------------------------+----------+-----------------+
| ID | NAME | PARTITION_TYPE | PARTITION_EXPRESSION | SUBPARTITION_TYPE | SUBPARTITION_EXPRESSION | HIDDEN | SE_PRIVATE_DATA |
+----+----------------+----------------+----------------------+-------------------+-------------------------+----------+-----------------+
| 1 | impl_pp_hash_4 | HASH | INTEGER | NULL | NULL | Implicit | NULL |
+----+----------------+----------------+----------------------+-------------------+-------------------------+----------+-----------------+
1 row in set (0.01 sec)