Condividi tramite


Configurare l'ottimizzazione degli indici in Database di Azure per PostgreSQL - Server flessibile (anteprima)

SI APPLICA A: Database di Azure per PostgreSQL - Server flessibile

L'ottimizzazione degli indici può essere abilitata, disabilitata e configurata tramite un set di parametri che ne controllano il comportamento, come la frequenza con la quale la sessione di ottimizzazione viene eseguita.

Abilitare l'ottimizzazione degli indici

L'ottimizzazione degli indici dipende dalle prestazioni di Monitoraggio con Query Store. Non è consigliabile abilitare Query Store nel piano tariffario Possibilità di burst per via delle implicazioni sulle prestazioni che potrebbe avere. Per lo stesso motivo, l'ottimizzazione degli indici non è consigliata per i server nel livello Possibilità di burst.

L'ottimizzazione degli indici è una funzionalità con consenso esplicito che non è attiva per impostazione predefinita in un server. È possibile abilitarlo o disabilitarlo a livello globale per tutti i database in un determinato server e non può essere attivato o disattivato in base al database.

Abilitare l'ottimizzazione degli indici nel portale di Azure (tramite i parametri del server)

  1. Accedere al portale di Azure e selezionare il Database di Azure per il server flessibile PostgreSQL.

  2. Selezionare Parametri del server nella sezione Impostazioni del menu.

  3. Cercare il pg_qs.query_capture_mode parametro.

  4. Impostare il valore su TOP o ALL, a seconda che si desideri tenere traccia delle query di primo livello o annidate. Le query annidate sono quelle query eseguite all'interno di una funzione o di una routine. Per visualizzare il massimo vantaggio dell'ottimizzazione degli indici, è consigliabile impostare questo parametro su ALL.

    Screenshot che mostra come impostare il valore del parametro del server pg_qs.query_capture_mode.

  5. Cercare il parametro index_tuning.mode e impostarne il valore su REPORT.

    Screenshot che mostra come impostare il valore del parametro del server index_tuning.mode su REPORT.

  6. Selezionare Salva.

    Screenshot che mostra come salvare i parametri modificati in modo che abbiano effetto.

  7. Attendere il completamento della distribuzione prima di prendere in considerazione la funzionalità abilitata.

    Screenshot che mostra la distribuzione avviata per salvare i parametri del server modificati al termine dell'operazione.

Abilitare l'ottimizzazione degli indici nel portale di Azure (tramite l'ottimizzazione degli indici)

  1. Accedere al portale di Azure e selezionare il Database di Azure per il server flessibile PostgreSQL.

  2. Selezionare Ottimizzazione degli indici (anteprima) nella sezione Prestazioni intelligenti del menu.

  3. Se pg_qs.query_capture_mode è impostato su NONE o index_tuning.mode è impostato su OFF, la pagina di ottimizzazione degli indici consente di abilitare l'ottimizzazione degli indici.

  4. Selezionare uno dei due pulsanti Abilita ottimizzazione degli indici per abilitare la funzionalità di ottimizzazione degli indici e la relativa dipendenza di Query Store necessaria, a condizione che Query Store sia disabilitato.

    Screenshot che mostra come abilitare l'ottimizzazione degli indici tramite la pagina Ottimizzazione degli indici (anteprima).

  5. Dopo aver abilitato l'ottimizzazione degli indici, far passare 12 ore per consentire al motore di ottimizzazione degli indici di analizzare il carico di lavoro raccolto da Query Store durante tale periodo e alla fine produrre raccomandazioni per la creazione o l'eliminazione degli indici.

Importante

Quando l'ottimizzazione degli indici è abilitata tramite il pulsante Abilita ottimizzazione degli indici, se pg_qs.query_capture_mode è impostato su NONE, verrà impostato su ALL. Se è già stato impostato su TOP o ALL, verrà lasciato nello stato corrente.

Disabilitare l'ottimizzazione degli indici

È anche possibile disabilitare l'ottimizzazione degli indici modificando il parametro del server corrispondente o utilizzando la pagina di ottimizzazione degli indici (anteprima).

Disabilitare l'ottimizzazione degli indici nel portale di Azure (tramite i parametri del server)

  1. Accedere al portale di Azure e selezionare il Database di Azure per il server flessibile PostgreSQL.

  2. Selezionare Parametri del server nella sezione Impostazioni del menu.

  3. Cercare il parametro index_tuning.mode e impostarne il valore su OFF.

    Screenshot che mostra come impostare il valore del parametro del server index_tuning.mode su OFF.

  4. La disabilitazione dell'ottimizzazione degli indici non disabilita automaticamente Query Store. Valutare se si desidera continuare a usare Monitoraggio delle prestazioni con Query Store per monitorare le prestazioni del carico di lavoro e lasciarlo abilitato oppure, se si desidera disabilitarlo, impostare pg_qs.query_capture_mode su NONE.

  5. Selezionare Salva.

    Screenshot che mostra come salvare i parametri modificati in modo che abbiano effetto.

  6. Attendere il completamento della distribuzione prima di prendere in considerazione la funzionalità disabilitata.

    Screenshot che mostra la distribuzione avviata per salvare i parametri del server modificati al termine dell'operazione.

Disabilitare l'ottimizzazione degli indici nel portale di Azure (tramite l'ottimizzazione degli indici)

  1. Accedere al portale di Azure e selezionare il Database di Azure per il server flessibile PostgreSQL.

  2. Selezionare Ottimizzazione degli indici (anteprima) nella sezione Informazioni dettagliate sulle prestazioni delle query del menu.

  3. Selezionare il pulsante Disabilita ottimizzazione degli indici per disabilitare la funzionalità.

    Screenshot che mostra come disabilitare l'ottimizzazione degli indici tramite la pagina Ottimizzazione degli indici (anteprima).

  4. Valutare se si desidera continuare a usare Monitoraggio delle prestazioni con Query Store per monitorare le prestazioni del carico di lavoro e lasciarlo abilitato oppure, se si desidera disabilitarlo, impostare pg_qs.query_capture_mode su NONE.

Importante

Quando l'ottimizzazione degli indici è disabilitata tramite il pulsante Disabilita ottimizzazione degli indici, il parametro del server pg_qs.query_capture_mode rimane invariato.

Opzioni di configurazione

Quando l'ottimizzazione degli indici è abilitata, viene riattivata con una frequenza configurata nel parametro del server index_tuning.analysis_interval (il valore predefinito è 720 minuti o 12 ore) e inizia ad analizzare il carico di lavoro registrato da Query Store durante tale periodo.

Si noti che se si modifica il valore per index_tuning.analysis_interval, viene osservato solo dopo il completamento dell'esecuzione pianificata successiva. Ad esempio, se si abilita l'ottimizzazione degli indici un giorno alle 10:00, poiché il valore predefinito per index_tuning.analysis_interval è 720 minuti, la prima esecuzione verrà pianificata per l'avvio alle 10:00 dello stesso giorno. Tutte le modifiche apportate al valore di index_tuning.analysis_interval tra le 10:00 e le 10:00 non influiscono sulla pianificazione iniziale. Solo al termine dell'esecuzione pianificata, leggerà il valore corrente impostato per index_tuning.analysis_interval e pianifica l'esecuzione successiva in base a tale valore.

Per la configurazione dei parametri di ottimizzazione degli indici sono disponibili le opzioni seguenti:

Parametro Descrizione Default Intervallo Unità
index_tuning.analysis_interval Imposta la frequenza con cui viene attivata ogni sessione di ottimizzazione degli indici quando index_tuning.mode è impostato su REPORT. 720 60 - 10080 minutes
index_tuning.max_columns_per_index Numero massimo di colonne che possono far parte della chiave di indice per qualsiasi indice consigliato. 2 1 - 10
index_tuning.max_index_count Numero massimo di indici consigliati per ogni database durante una sessione di ottimizzazione. 10 1 - 25
index_tuning.max_indexes_per_table Numero massimo di indici che possono essere consigliati per ogni tabella. 10 1 - 25
index_tuning.max_queries_per_database Numero di query più lente per ogni database per cui è possibile consigliare gli indici. 25 5 - 100
index_tuning.max_regression_factor Regressione accettabile introdotta da un indice consigliato in una delle query analizzate durante una sessione di ottimizzazione. 0.1 0.05 - 0.2 percentage
index_tuning.max_total_size_factor Dimensione totale massima, in percentuale dello spazio su disco totale, che tutti gli indici consigliati per qualsiasi database specificato possono usare. 0.1 0 - 1 percentage
index_tuning.min_improvement_factor Miglioramento dei costi che un indice consigliato deve fornire ad almeno una delle query analizzate durante una sessione di ottimizzazione. 0.2 0 - 20 percentage
index_tuning.mode Configura l'ottimizzazione degli indici come disabilitata (OFF) o abilitata per generare solo raccomandazioni. Richiede l'abilitazione di Query Store impostando pg_qs.query_capture_mode su TOP o ALL. OFF OFF, REPORT
index_tuning.unused_dml_per_table Numero minimo di operazioni DML medie giornaliere che interessano la tabella, pertanto gli indici inutilizzati vengono considerati per l'eliminazione. 1000 0 - 9999999
index_tuning.unused_min_period Numero minimo di giorni in cui l'indice non è stato usato, in base alle statistiche di sistema, quindi viene considerato per l'eliminazione. 35 30 - 70
index_tuning.unused_reads_per_table Numero minimo di operazioni di lettura medie giornaliere che interessano la tabella in modo che gli indici inutilizzati vengano considerati per l'eliminazione. 1000 0 - 9999999