Todos os produtos
Search
Central de documentação

PolarDB:Parâmetros de consulta paralela

Última atualização: Jun 28, 2026

O PolarDB for MySQL oferece dois conjuntos de configurações para o recurso de consulta paralela elástica: parâmetros de cluster definidos no console do PolarDB e variáveis de status no nível de sessão consultadas em tempo de execução.

Parâmetros de consulta paralela

Nota

Todos os parâmetros de cluster no console do PolarDB usam o prefixo loose_ para garantir compatibilidade com o arquivo de configuração do MySQL. Ao modificar parâmetros no console do PolarDB, selecione aqueles que incluem o prefixo loose_.

Os parâmetros a seguir controlam o comportamento da consulta paralela elástica. Eles abrangem o grau de paralelismo (DOP) para consultas individuais, o orçamento total de workers, o comportamento da fila e os limiares de contagem de linhas e custo que acionam a execução paralela.

Parâmetro

Escopo

Descrição

loose_max_parallel_degree

Global, sessão

DOP máximo para uma única consulta. Defina o limite superior de workers paralelos para essa operação. Valores válidos: 0–1024. Padrão: 0 (consulta paralela elástica desativada).

loose_max_parallel_workers

Global

Número máximo de workers paralelos permitidos em todas as consultas simultaneamente. Consultas que excederem esse limite serão enfileiradas. Valores válidos: 1–10.000. Padrão: o dobro do número de núcleos de CPU.

loose_queuing_parallel_degree_limit

Global

Soma máxima dos valores de DOP permitidos na fila em um determinado momento. Consultas que ultrapassarem esse limite retornarão à execução sequencial. Valores válidos: 0–10.000. Padrão: 64.

loose_pq_max_queuing_time

Global, sessão

Tempo máximo que uma consulta pode aguardar na fila. Se esse limite for excedido, a consulta voltará para execução sequencial. Valores válidos: 0–18.446.744.073.709.551.615. Padrão: 200 (milissegundos).

loose_parallel_degree_policy

Global

Política de seleção de DOP para consultas individuais. Valores válidos: TYPICAL, AUTO, REPLICA_AUTO (padrão). Para mais detalhes, consulte Políticas de DOP.

loose_records_threshold_for_parallelism

Sessão

Número mínimo de linhas que uma consulta deve examinar antes de o otimizador considerar a execução paralela. Valores válidos: 0–18.446.744.073.709.551.615. Padrão: 10000.

loose_cost_threshold_for_parallelism

Sessão

Custo mínimo de execução sequencial necessário para que o otimizador avalie a execução paralela. Valores válidos: 0–18.446.744.073.709.551.615. Padrão: 50000.

loose_records_threshold_for_mpp

Sessão

Número mínimo de linhas examinadas em uma tabela envolvida na instrução de consulta para que o otimizador considere a consulta paralela elástica multinó. Valores válidos: 0–18.446.744.073.709.551.615. Padrão: 0 (N × loose_records_threshold_for_parallelism, onde N é o número de nós no cluster).

loose_cost_threshold_for_mpp

Sessão

Custo mínimo de execução sequencial para que o otimizador considere a consulta paralela elástica multinó. Valores válidos: 0–18.446.744.073.709.551.615. Padrão: 0 (N × loose_cost_threshold_for_parallelism, onde N é o número de nós no cluster).

Observações sobre os parâmetros

loose_max_parallel_degree

O otimizador do PolarDB pode executar a consulta principal e as subconsultas usando planos de execução paralela separados. Quando se utilizam planos distintos, a contagem total de workers corresponde à soma dos workers da consulta principal e de todas as subconsultas, sem restrição ao valor de loose_max_parallel_degree por subconsulta. Já quando o mesmo plano é utilizado, o total de workers não pode exceder loose_max_parallel_degree.

A configuração do console e o parâmetro loose_max_parallel_degree interagem da seguinte forma:

  • Se a consulta paralela elástica estiver ativada no console do PolarDB e loose_max_parallel_degree também estiver definido, a configuração do console prevalece. Para a maioria dos cenários, ative a consulta paralela elástica diretamente no console do PolarDB.

  • Caso a consulta paralela elástica não esteja ativada no console do PolarDB, mas loose_max_parallel_degree tenha um valor superior a 0, o recurso será ativado automaticamente.

loose_max_parallel_workers

Em um cluster serverless, o valor de loose_max_parallel_workers é ajustado automaticamente conforme as especificações dos nós são dimensionadas. Para obter detalhes sobre a política de filas, consulte Parâmetros que definem as políticas de fila das consultas paralelas.

loose_parallel_degree_policy

Valor

Comportamento

TYPICAL

O DOP é sempre definido como loose_max_parallel_degree, independentemente da carga do banco de dados ou da utilização da CPU.

AUTO

O otimizador ativa ou desativa a consulta paralela elástica com base na carga do banco de dados (incluindo a utilização da CPU) e selecione o DOP de acordo com o custo da consulta.

REPLICA_AUTO (padrão)

Os nós somente leitura decidem se devem ativar a consulta paralela elástica com base na carga do banco de dados e escolhem o DOP segundo o custo da consulta. O nó primário não executa consultas paralelas elásticas.

loose_records_threshold_for_parallelism

Se a maior parte das suas consultas for simples e envolver pequenos volumes de dados, defina este limiar para pelo menos 2000 a fim de evitar o acionamento desnecessário da execução paralela.

Configurações recomendadas

Utilize as orientações abaixo como ponto de partida para a configuração do seu cluster:

Objetivo

Recomendação

Ativar consulta paralela

Defina loose_max_parallel_degree com um valor maior que 0 ou ative o recurso no console do PolarDB.

Limitar o consumo de workers paralelos

Reduza o valor de loose_max_parallel_workers em relação ao padrão (o dobro de núcleos de CPU) caso as consultas paralelas estejam consumindo recursos excessivos. Faça ajustes com base no valor observado em Total_running_parallel_workers.

Evitar paralelismo desnecessário em cargas OLTP

Aumente loose_records_threshold_for_parallelism para 2000 ou mais se a maioria das consultas for simples e acessar pequenos conjuntos de dados.

Restringir consultas paralelas a nós somente leitura

Mantenha loose_parallel_degree_policy = REPLICA_AUTO (configuração padrão) para preservar o nó primário livre da sobrecarga de consultas paralelas.

Ajustar consulta paralela multinó

Deixe loose_records_threshold_for_mpp e loose_cost_threshold_for_mpp com o valor padrão de 0 para herdar os limiares de nó único escalonados pela quantidade de nós. Eleve esses valores apenas se o paralelismo multinó for acionado de forma muito agressiva.

Variáveis de consulta paralela

Use estas variáveis de status para monitorar a consulta paralela elástica em tempo de execução e diagnosticar motivos pelos quais a execução paralela pode não ser acionada para determinadas consultas. Consulte-as por meio de SHOW GLOBAL STATUS ou SHOW SESSION STATUS.

Variável

Escopo

Descrição

Parallel_workers_created

Global, sessão

Quantidade total de workers paralelos criados desde o início da sessão.

Gather_records

Global, sessão

Número total de registros coletados pelos workers paralelos.

PQ_refused_over_total_workers

Global, sessão

Contagem de consultas que reverteram para execução sequencial porque o limite total de workers paralelos (loose_max_parallel_workers) foi atingido.

PQ_refused_over_max_queuing_time

Global, sessão

Volume de consultas que retornaram à execução sequencial devido à espera na fila ter excedido loose_pq_max_queuing_time.

Total_running_parallel_workers

Global

Quantidade de workers paralelos em execução no momento.

Se PQ_refused_over_total_workers ou PQ_refused_over_max_queuing_time estiver aumentando, significa que as consultas paralelas estão sendo limitadas devido à contenção de recursos. Nesse caso, aumente loose_max_parallel_workers ou loose_pq_max_queuing_time para reduzir a reversão para execução sequencial.