PolarDB支持通过parallel_degree_policy参数来设置并行查询中并行度的配置策略。本文将介绍相关参数说明。

前提条件

集群版本需为PolarDB MySQL且修订版本为8.0.1.1.11或以上,详情请参见查询版本号

并行度控制参数

参数 级别 说明
parallel_degree_policy Global 设置单个查询的并行度配置策略,取值范围如下:
  • TYPICAL
  • AUTO
  • REPLICA_AUTO(默认)
说明 更多关于并行查询的使用方式,请参见并行查询(Parallel Query)

TYPICAL策略

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

AUTO策略

AUTO策略下,PolarDB会根据数据库的CPU、内存或IOPS资源的使用率来决定是否禁止并行查询计划,并支持在需要并行执行的前提下,自定义并行查询的并行度选择策略。

参数 级别 取值 说明
loose_auto_dop_cpu_pct_hwm Global
  • 取值范围:0~100
  • 默认值:70
CPU使用率阈值。若CPU使用率超过阈值,PolarDB会禁止并行查询计划。
loose_auto_dop_mem_pct_hwm
  • 取值范围:0~100
  • 默认值:90
内存使用率阈值。若内存使用率超过阈值,PolarDB会禁止并行查询计划。
loose_auto_dop_iops_pct_hwm
  • 取值范围:0-100
  • 默认值:80
IOPS使用率阈值。若IOPS使用率超过阈值,PolarDB会禁止并行查询计划。
loose_auto_dop_low_degree_cost
  • 取值范围:0~18446744073709551615
  • 默认值:500000
自动并行度选择策略。在确定需要并行执行后,PolarDB会根据如下标准选择查询并行度:
  • 当优化器估算查询的串行执行代价低于该值时,查询并行度为2。
  • 当优化器估算查询的串行执行代价大于或等于该值时,查询并行度将尽可能与max_parallel_degree设置的并行度保持一致。
说明 该参数仅用于在PolarDB确定需要并行执行后,选择查询的并行度,而不用于选择是否需要并行执行。

REPLICA_AUTO策略

REPLICA_AUTO策略下,仅只读节点会根据数据库的CPU、内存或IOPS使用率决定是否禁止并行查询计划,而主节点不会选择并行执行计划。支持的配置参数与AUTO策略的一致。