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 join adattivo
Panoramica
Join adattivo è 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 GUC (Global User Configuration). Poiché si tratta di una funzionalità di anteprima, i valori dei parametri predefiniti potrebbero cambiare. Se abilitato, il join adattivo aiuta a ottimizzare le prestazioni delle query passando dinamicamente da un loop join nidificato a un hash join in runtime. Questo passaggio si verifica quando lo strumento di ottimizzazione di PostgreSQL ha scelto erroneamente un loop join nidificato 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 nidificato a un hash join. Il punto di incrocio delle righe è il punto in cui lo strumento di ottimizzazione SQL stima che le operazioni di loop nidificato 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 Join adattivo è abilitato
|
| apg_adaptive_join_cost_threshold | Questo parametro imposta una soglia minima di costo delle query. Join adattivo 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à join adattivo ai loop join nidificati parametrizzati. Per impostazione predefinita, il join adattivo funziona solo con loop join nidificati non parametrizzati, poiché è più probabile che questi traggano vantaggio dal passaggio all’hash join. I loop join nidificati parametrizzati in genere offrono prestazioni migliori, rendendo meno importante il passaggio all’hash join. |
Controlla il comportamento del join adattivo per loop join nidificati
NotaDeve essere prima abilitato |