PostgreSQL 11 新特性解读: 分区表增加哈希分区

  • 时间:
  • 浏览:1
  • 来源:大发3D_大发3D官方

根据非分区键ctime查询扫描了分区表所有分区。

Hash分区表的分区定义包暗包含一另俩个属性,如下:

可见数据均匀分布到了3个分区。

创建索引

根据分区键stuname查询仅扫描分区 student_p3,并走了索引。

随机生成含六位字符的字符串,如下所示:

购买链接:https://item.jd.com/12405774.html

为了便于生成测试数据,创建以下有有一另俩个函数用来随机生成指定长度的字符串,创建 random_range(int4, int4) 函数如下:

从以上看出表 student 和它的3个分区。

最后推荐和张文升同時 编写的《PostgreSQL实战》,本书基于PostgreSQL 10 编写,共18章,重点介绍SQL高级形状、并行查询、分区表、物理一键复制、逻辑一键复制、备份恢复、高可用、性能优化、PostGIS等,包含几滴 实战用例!

The table is partitioned by specifying a modulus and a remainder for each partition. Each partition will hold the rows for which the hash value of the partition key divided by the specified modulus will produce the specified remainder.

使用过后创建的函数 random_text_simple() 生成50万测试数据,如下。

统计分区数据量

PostgreSQL 11 的有有一另俩个重量级新形状为分区表得到较大增强,之类支持哈希分区(HASH)表,但是 PostgreSQL 支持范围分区(RANGE)、列表分区(LIST)、>哈希分区(HASH)之类分区法律方法 ,本文简单演示下哈希分区表。

接着创建random_text_simple(length int4)函数,此函数会调用random_range(int4, int4)函数。

本文演示了 PostgreSQL 哈希分区表的创建、测试数据的生成导入和查询计划,里边博客演示分区表增强的其它方面。

表数据如下

里边会用到之类 函数生成测试数据。

random_text_simple(length int4)函数须要随机生成指定长度字符串,如下随机生成含三位字符的字符串。

Hash Partitioning