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

  • 时间:
  • 浏览:3
  • 来源:uu快3输钱_uu快3赢钱诀窍_豹子

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

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

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

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

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

以上参数但是不须容易理解,进一步解释如下:

在会话级设置max_parallel_maintenance_workers值为4。

介绍并行创建索引但是先来看看并行tcp连接运行运行的相关 postgresql.conf 参数。

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

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

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

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

创建索引,如下

在主机上通过 top 命令可不并能看了 CREATE INDEX 命令的tcp连接运行运行号为 21164,而且开启了另一个并发子tcp连接运行运行。

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

通过前面介绍一群人知道可通过设置max_parallel_maintenance_workers参数为0关闭所有表的并行创建索引,如保关闭指定表的并行索引创建呢?

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