并行查询
并行查询
9.6版本前不支持并行查询,SQL无法利用多核CPU提升性能,9.6版本开始支持并行查询,但9.6的并行查询支持范围有限;10版本增强了并行查询
并行查询相关配置参数
1、max_worker_processes(integer):设置系统支持的最大后台进程数,默认值是8,如果有备库,备库上此参数必须大于或等于主库上的此参数配置值,此参数调整后需要重启数据库生效
2、max_parallel_workers(integer):设置系统支持的并行查询进程数,默认值为8,此参数受max_worker_processes参数限制,设置此参数值比max_worker_processes值高则无效;调整此参数时建议同时调整max_parallel_workers_per_gather参数值
3、max_parallel_workers_per_gather(integer):设置允许启用的并行进程的进程数,默认值为2,设置为0表示禁用并行查询,此参数受max_worker_processes参数和max_parallel_workers参数限制,因此并行查询的实际进程数可能比预期的少,并行查询比非并行查询消耗更多CPU、IO、内存资源,对生产系统有一定影响。这三个参数配置值大小关系通常为:max_worker_processes>max_parallel_workers>max_parallel_workers_per_gather
4、parallel_setup_cost(floating point):设置优化器启动并行进程的成本,默认1000
5、parallel_tuple_cost(floating point):设置优化器通过并行进程处