并行查询参数说明

更新时间:2024-12-13 05:45:01

本章节介绍了并行查询功能相关的参数和变量。

并行查询相关参数

说明

集群参数在PolarDB控制台上都已加上MySQL配置文件的兼容性前缀loose_。如果您需要在PolarDB控制台修改参数,请选择带loose_前缀的参数进行修改。

参数名

级别

描述

参数名

级别

描述

max_parallel_degree

Global、Session

单个查询的最大并行度,即并行执行的最大Worker数量。

  • 取值范围:[0-1024]。

  • 默认值:0,表示关闭并行查询。

说明
  • PolarDB优化器可能会对主查询和子查询分别并行执行,如果同时并行执行,它们的最大Worker数不能超过max_parallel_degree的值,整个查询使用的Worker数为主查询和子查询使用的Worker数之和。

  • 控制台中的并行查询设置与max_parallel_degree参数说明如下:

    • 若控制台和系统参数max_parallel_degree均有设置,则以控制台配置为准。因此,建议使用控制台来开启并行查询。

    • 若控制台未开启并行查询,但系统参数max_parallel_degree被设置为大于0时,相当于默认开启了单机并行。

max_parallel_workers

Global

最大允许同时运行的并行worker线程数,超过该值后并行查询需要进入任务队列中等待。

  • 取值范围:[1-10000]

  • 默认值为CPU核数的2

说明
  • max_parallel_workers参数在Serverless集群中会根据节点规格的弹性扩展/收缩而进行调整。

  • 更多关于并行查询排队策略的详细介绍,请参见并行资源控制策略配置

queuing_parallel_degree_limit

Global

最大允许同时进入并行排队的并行度总和,超过该值后查询将被禁止并行查询,回退为串行执行。

  • 取值范围:[0-10000]

  • 默认值:64

pq_max_queuing_time

Global、Session

并行查询在队列中最大等待时间,等待时间超出该值后直接回退为串行执行。

  • 取值范围:[0-18446744073709551615]

  • 默认值:200

  • 单位:毫秒

parallel_degree_policy

Global

设置单个查询的并行度配置策略,取值范围如下:

  • TYPICALPolarDB选择查询并行度时不会考虑数据库负载(如CPU使用率等),而尽可能与max_parallel_degree设置的并行度保持一致。

  • AUTOPolarDB会根据数据库负载(如CPU使用率等)来决定是否禁止并行查询计划,并会根据查询代价选择并行度。

  • REPLICA_AUTO(默认):仅只读节点会根据数据库负载(如CPU使用率等)决定是否禁止并行查询计划,并会根据查询代价选择并行度,而主节点不会开启并行查询。

说明

更多关于并行度配置策略的详细介绍,请参见并行资源控制策略配置

records_threshold_for_parallelism

Session

若优化器估算出语句中存在扫描记录数超过该阈值的表,优化器会考虑选择并行执行计划。

  • 取值范围:[0-18446744073709551615]。

  • 默认值:10000。

说明

若您的业务量较小或复杂查询业务并发较低,您可以选择将该阈值设置为2000或以上。

cost_threshold_for_parallelism

Session

若优化器估算查询的串行执行代价超过该阈值,优化器会考虑选择并行执行计划。

  • 取值范围:[0-18446744073709551615]。

  • 默认值:50000。

records_threshold_for_mpp

Session

查询语句中表扫描行数超过该阈值后,优化器会考虑选择多机并行执行方式。

  • 取值范围:[0-18446744073709551615]。

  • 默认为0,含义是自动取值records_threshold_for_parallelismN倍,NePQ集群的节点个数

cost_threshold_for_mpp

Session

查询语句的串行执行代价超过该阈值后,优化器会考虑选择多机并行执行方式。

  • 取值范围:[0-18446744073709551615];

  • 默认值为0,含义是自动取值cost_threshold_for_parallelismN倍,N为节点个数

并行查询相关变量

变量名

级别

描述

变量名

级别

描述

Parallel_workers_created

Global、Session

Session启动开始,生成Parallel Worker的个数。

Gather_records

Global、Session

Gather记录总数。

PQ_refused_over_total_workers

Global、Session

由于总Worker数限制没有启用并行的查询数。

PQ_refused_over_max_queuing_time

Global、Session

由于并行查询排队超时没有启动并行的查询数。

Total_running_parallel_workers

Global

当前正在运行的Parallel Worker的数目。

  • 本页导读 (1)
  • 并行查询相关参数
  • 并行查询相关变量
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等