Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Miglioramento delle prestazioni delle query utilizzando adaptive join
Panoramica
Adaptive join è una funzionalità di anteprima di Aurora PostgreSQL 17.4 che aiuta a migliorare le prestazioni delle query. Questa funzionalità è disabilitata per impostazione predefinita, ma è possibile abilitarla utilizzando i parametri di Global User Configuration (GUC). Poiché si tratta di una funzionalità di anteprima, i valori dei parametri predefiniti potrebbero cambiare. Se abilitato, l'adaptive join aiuta a ottimizzare le prestazioni delle query passando dinamicamente da un nested loop join a un hash join in fase di esecuzione. Questo passaggio si verifica quando l'ottimizzatore PostgreSQL ha scelto erroneamente un loop join annidato a causa di stime di cardinalità imprecise.
Configurazione del join adattivo
È possibile controllare il join adattivo utilizzando questi tre parametri GUC:
Parametro GUC | Descrizione | Opzioni predefinite e di configurazione |
---|---|---|
apg_adaptive_join_crossover_multiplier | Questo moltiplicatore funziona con il punto di incrocio delle righe per determinare quando passare da un loop annidato a un hash join. Il punto di incrocio delle righe è il punto in cui l'ottimizzatore SQL stima che le operazioni di nidificato loop e hash join abbiano lo stesso costo. Un valore di moltiplicatore più elevato riduce la probabilità che il join adattivo passi a un hash join. |
Controlla se Adaptive Join è abilitato
|
apg_adaptive_join_cost_threshold | Questo parametro imposta una soglia minima di costo delle query. Adaptive Join si disattiva automaticamente per le query al di sotto di questa soglia. In questo modo si evita un sovraccarico prestazionale nelle query semplici in cui il costo della pianificazione di un join adattivo potrebbe superare i vantaggi del passaggio dal nested loop all'hash join. |
Imposta la soglia di costo minima per la query
|
apg_enable_parameterized_adaptive_join | Se abilitato, questo parametro estende la funzionalità di adaptive join ai loop join annidati parametrizzati. Per impostazione predefinita, l'adaptive join funziona solo con loop join annidati non parametrizzati, poiché è più probabile che questi traggano vantaggio dal passaggio all'hash join. I loop join annidati parametrizzati in genere offrono prestazioni migliori, rendendo meno importante il passaggio all'hash join. |
Controlla il comportamento adattivo dei loop join annidati
NotaDeve essere prima abilitato |