

# Melhorar o desempenho de consultas usando junção adaptável
<a name="user-apg-adaptive-join"></a>

## Visão geral
<a name="user-apg-adaptive-join-intro"></a>

A junção adaptável é um recurso de versão prévia no Aurora PostgreSQL 17.4 que ajuda a melhorar o desempenho das consultas. Esse recurso está desabilitado por padrão, mas você pode habilitá-lo usando os parâmetros de configuração global do usuário (GUC). Como esse é um recurso de versão prévia, os valores padrão dos parâmetros podem mudar. Quando habilitada, a junção adaptável ajuda a otimizar o desempenho da consulta ao alternar dinamicamente de uma junção de loop aninhado para uma junção de hash em tempo de execução. Essa troca ocorre quando o otimizador do PostgreSQL escolhe incorretamente uma junção de loop aninhado devido a estimativas de cardinalidade imprecisas.

## Configurar junção adaptável
<a name="user-apg-adaptive-join-config"></a>

Você pode controlar a junção adaptável usando estes três parâmetros de GUC:


**Parâmetros de configuração de junção adaptável**  

| Parâmetro de GUC | Descrição | Opções padrão e de configuração | 
| --- | --- | --- | 
| apg\_adaptive\_join\_crossover\_multiplier | Esse multiplicador funciona com o ponto de cruzamento de linhas para determinar quando mudar de um loop aninhado para uma junção de hash. O ponto de cruzamento de linhas é onde o otimizador SQL estima que as operações de loop aninhado e junção de hash tenham o mesmo custo. Um valor multiplicador mais alto reduz a probabilidade de a junção adaptável mudar para uma junção de hash. | Controla se a junção adaptável está habilitada[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/AuroraUserGuide/user-apg-adaptive-join.html) | 
| apg\_adaptive\_join\_cost\_threshold | Esse parâmetro define um limite mínimo de custo de consulta. A junção adaptável se desabilita automaticamente para consultas abaixo desse limite. Isso evita a sobrecarga de desempenho em consultas simples, nas quais o custo de planejar uma junção adaptável pode superar os benefícios de mudar de loop aninhado para junção de hash. |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/AuroraUserGuide/user-apg-adaptive-join.html)  | 
| apg\_enable\_parameterized\_adaptive\_join | Quando habilitado, esse parâmetro estende a funcionalidade de junção adaptável às junções de loop aninhado parametrizadas. Por padrão, a junção adaptável funciona somente com junções de loop aninhado não parametrizadas, pois é mais provável que elas se beneficiem da mudança para a junção de hash. As junções de loop aninhado parametrizadas geralmente têm melhor desempenho, tornando a mudança para a junção de hash menos essencial. |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/AuroraUserGuide/user-apg-adaptive-join.html) Requer que `apg_adaptive_join_crossover_multiplier` seja habilitado primeiro.  | 