PostgreSQL 11 新特性解读 : 支持并行创建索引(Parallel Index Builds)

  • 时间:
  • 浏览:0
  • 来源:大发彩神幸运飞艇_大发神彩幸运飞艇官方

postgresql.conf 设置以下并行度参数如下:

本测试环境为一台4核8GB内存的虚机,测试结果如下:

设置 max_parallel_maintenance_workers 值不同并行度,测试并行索引创建的时间。

PostgreSQL 11 版本在并行方面得到增强,类式于支持并行创建索引、并行Hash Join、并行 CREATE TABLE .. AS等,本文先介绍并行创建索引。

在主机上通过 top 命令还能不能 看得人 CREATE INDEX 命令的线程池池号为 21164,假使 开启了另一个多多多 并发子线程池池。

介绍并行创建索引前一天先来看看并行线程池池的相关 postgresql.conf 参数。

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

通过前面介绍朋友知道可通过设置max_parallel_maintenance_workers参数为0关闭所有表的并行创建索引,怎样才能关闭指定表的并行索引创建呢?

PostgreSQL 11 版本并行创建索引仅支持 B-tree 索引,其它类型索引现阶段不支持并行创建。

创建测试表big并插入300万条数据,如下:

创建索引,如下

从以上看出,当 max_parallel_maintenance_workers 值为4时索引创建时间出先拐点。

可通过 ALTER TABLE 办法禁止表上的并行创建索引,如下禁止表big上的所有并行创建索引。

以上参数将会不用说容易理解,进一步解释如下:

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

将会想恢复指定表上的parallel_workers参数设置,使用 RESET 选项即可,如下:

在会话级设置max_parallel_maintenance_workers值为4。