功能
INFORMATION_SCHEMA.PARTITION_POLICIES
用于查询系统当中存在的 PARTITION POLICY 规则,INFORMATION_SCHEMA.PARITTION_POLICIES
和INFORMATION_SCHEMA.PARTITION_POLICY_PARTITIONS
组成 PARTITION POLICY 规则定义,类似于INFORMATION_SCHEMA.TABLES
和INFORMATION_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 TABLE 或 ALTER 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)