PostgreSql 并行

一、概述

  当服务器有多核 cpu 时,PostgreSQL 会根据默认配置,在合适的条件下自动进行并行操作,除非主动关闭了相关并行参数。

二、并行相关参数

max_worker_processes:系统能够支持的后台进程的最大数量,默认是 8,并行工作者数据会受此参数限制。
max_parallel_workers:设置系统为并行操作所支持的工作者的最大数量,默认值为 8。
max_parallel_workers_per_gather:设置单个 Gather 或者 Gather Merge 节点能够开始的工作者的最大数量,默认值是 2,把这个值设置为 0 将会禁用并行查询执行。注意并行查询可能消耗比非并行查询更多的资源,因为每一个工作者进程时一个完全独立的进程,它对系统产生的影响大致和一个额外的用户会话相同。
max_parallel_maintenance_workers:维护性操作(建索引、除了 full 的 vacuum 操作)支持的最大并行数量,默认值是 2。
parallel_setup_cost:优化器启动并行进程的成本,默认为1000。
parallel_tuple_cost:优化器通过并行进程处理一行数据的成本,默认为0.1。
min_parallel_table_scan_size:扫描的数据量超过此值,优化器才会考虑启用并行,默认8M。
min_parallel_index_scan_size:扫描的索引数据量超过此值,优化器才会考虑启用并行,默认512k。
force_parallel_mode:强制使用并行查询,一般用于测试,默认off.

三、参数配置注意事项

  • 采用上述默认值,优化器会在并行查询成本低时,自动选择并行查询。
  • 自定义配置并行参数时,系统cpu数量 > max_worker_processes > max_parallel_workers > max_parallel_workers_per_gather > 0,max_parallel_workers_per_gather 为 0,禁用并行查询。
  • 想让表更容易走并行查询,可适当调低 min_parallel_table_scan_size,min_parallel_index_scan_size 值。

相关推荐

  1. PostgreSql

    2023-12-27 09:12:02       48 阅读
  2. JPA查询PostgreSQL排序问题

    2023-12-27 09:12:02       34 阅读
  3. PostgreSQL自带的命令工具02- createdb

    2023-12-27 09:12:02       10 阅读
  4. PostgreSQL自带的命令工具06- pg_isready

    2023-12-27 09:12:02       12 阅读
  5. PostgreSQL自带的命令工具08- pg_restore

    2023-12-27 09:12:02       15 阅读
  6. PostgreSQL自带的命令工具07- pg_dump

    2023-12-27 09:12:02       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-27 09:12:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-27 09:12:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-27 09:12:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-27 09:12:02       20 阅读

热门阅读

  1. SpringCloud跨服务调用失败Seata无法回滚解决办法

    2023-12-27 09:12:02       33 阅读
  2. 【常用前端框架总结】

    2023-12-27 09:12:02       37 阅读
  3. 产业互联网,并不存在所谓的平台和中心

    2023-12-27 09:12:02       43 阅读
  4. AutoSAR(基础入门篇)3.1-Autosar中RTE的概述

    2023-12-27 09:12:02       35 阅读
  5. Pillow库画图用法记录python

    2023-12-27 09:12:02       39 阅读
  6. LeetCode453. Minimum Moves to Equal Array Elements

    2023-12-27 09:12:02       32 阅读
  7. C语言中的结构体和联合体:异同及应用

    2023-12-27 09:12:02       37 阅读
  8. Go语言入门:Go程序的基础结构

    2023-12-27 09:12:02       27 阅读
  9. C++入门【16-C++ 从函数返回数组】

    2023-12-27 09:12:02       33 阅读