postgresql的并行查询

postgresql的并行查询

并行查询的相关参数

##设置系统支持的最大后台进程数,备库需要大于或等于主库的
max_worker_processes

##设置系统支持的并行查询进程数,认8
max_parallel_workers

##设置允许启用的并行进程的进程数
max_parallel_workers_per_gather

##设置优化器启动并行进程的成本
parallel_setup_cost

##设置优化器通过并行进程处理一行数据的成本
parallel_tuple_cost

##设置开启并行的条件之一,表占用空间小于此值将不会开启并行
min_parallel_table_scan_size

##设置开启并行的条件之一,实际上并行索引扫描不会扫描所有所有数据块,只扫描索引相关的数据块
min_parallel_index_scan_size

##强制开启并行,一般作为测试目的,生产环境不建议使用,一般不建议开启
force_parallel_mode

三个配置参数关系通常:
max_worker_processes > max_parallel_workers > max_parallel_workers_per_gather

1.并行顺序扫描
seq scan …
parallel seq scan on …

2.并行索引扫描
index scan using …
parallel index scan …

3.并行index-only扫描
index only scan using …
parallel index only scan …

4.并行bitmap heap扫描
sql的where条件中出现or时很有可能出现bitmap index扫描
bitmap index scan

5.多表联级

  • nested loop多表关联,实际上是一个嵌套循环
  • merge join多表关联,先对表进行排序后再进行关联字段匹配
  • hash join多表关联,当关联字段没有索引情况下两表关联通常会进行hash join

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...