Condividi tramite


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

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

L'ottimizzazione dell'indice può essere abilitata, disabilitata e configurata tramite un set di parametri che ne controllano il comportamento, ad esempio la frequenza con cui può essere eseguita una sessione di ottimizzazione.

Abilitare l'ottimizzazione degli indici

L'ottimizzazione dell'indice dipende dall'archivio query. Non è consigliabile abilitare Query Store nel piano tariffario Burstable per le 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)

Tramite il portale di Azure:

  1. Selezionare l'istanza del server flessibile di Database di Azure per PostgreSQL.

  2. Nel menu delle risorse, nella sezione Impostazioni selezionare Parametri del server.

    Screenshot che mostra la pagina Parametri server nella sezione Impostazioni.

  3. Cercare pg_qs.query_capture_mode.

    Screenshot che mostra come cercare il parametro del server pg_qs.query_capture_mode.

  4. Impostarne 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 index_tuning.mode.

    Screenshot che mostra come cercare il parametro del server index_tuning.mode per impostarlo su REPORT.

  6. Impostare il relativo valore su REPORT.

    Screenshot che mostra come impostare il valore di index_tuning.mode su REPORT.

Nota

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

  1. Selezionare Salva.

    Screenshot che mostra come salvare i parametri modificati per abilitare l'ottimizzazione dell'indice.

  2. 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)

Tramite il portale di Azure:

  1. Selezionare l'istanza del server flessibile di Database di Azure per PostgreSQL.

  2. Nel menu delle risorse, nella sezione Informazioni dettagliate prestazioni query selezionare Ottimizzazione dell'indice.

    Screenshot che mostra l'opzione di menu Ottimizzazione indice nella sezione Informazioni dettagliate prestazioni query per abilitare l'ottimizzazione dell'indice.

  3. pg_qs.query_capture_mode Se è impostato su o index_tuning.mode è impostato NONE su OFF, la pagina di ottimizzazione dell'indice consente di abilitare l'ottimizzazione dell'indice. Selezionare uno dei due pulsanti Abilita ottimizzazione dell'indice per abilitare la funzionalità di ottimizzazione dell'indice e la dipendenza dell'archivio query necessaria, se Query Store è disabilitato.

    Screenshot che mostra come abilitare l'ottimizzazione dell'indice tramite la pagina di ottimizzazione dell'indice.

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

    Screenshot che mostra la distribuzione completata per abilitare l'ottimizzazione dell'indice.

  5. Dopo aver abilitato l'ottimizzazione dell'indice, consentire al motore di ottimizzazione dell'indice di analizzare il carico di lavoro raccolto dall'archivio query durante tale periodo e infine produrre raccomandazioni per la creazione o l'eliminazione dell'indice.

Importante

Quando l'ottimizzazione dell'indice è abilitata tramite il pulsante Abilita ottimizzazione dell'indice , se pg_qs.query_capture_mode è impostata su NONE, viene modificata in ALL. Se è già stato impostato su TOP o ALL, viene lasciato nello stato corrente.

Disabilitare l'ottimizzazione degli indici

La disabilitazione dell'ottimizzazione dell'indice può essere ottenuta anche modificando il parametro del server corrispondente o usando la pagina di ottimizzazione dell'indice.

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

Tramite il portale di Azure:

  1. Selezionare l'istanza del server flessibile di Database di Azure per PostgreSQL.

  2. Nel menu delle risorse, nella sezione Impostazioni selezionare Parametri del server.

    Screenshot che mostra la pagina Parametri server nella sezione Impostazioni.

  3. Cercare index_tuning.mode.

    Screenshot che mostra come cercare il parametro del server index_tuning.mode per impostarlo su OFF.

  4. Impostare il relativo valore su OFF.

    Screenshot che mostra come impostare il valore di index_tuning.mode su OFF.

Nota

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

  1. Selezionare Salva.

    Screenshot che mostra come salvare i parametri modificati per disabilitare l'ottimizzazione dell'indice.

  2. 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)

Tramite il portale di Azure:

  1. Selezionare l'istanza del server flessibile di Database di Azure per PostgreSQL.

  2. Nel menu delle risorse, nella sezione Informazioni dettagliate prestazioni query selezionare Ottimizzazione dell'indice.

    Screenshot che mostra l'opzione di menu Ottimizzazione indice nella sezione Informazioni dettagliate prestazioni query per disabilitare l'ottimizzazione dell'indice.

  3. Selezionare il pulsante Disabilita ottimizzazione dell'indice per disabilitare la funzionalità.

    Screenshot che mostra come disabilitare l'ottimizzazione dell'indice tramite la pagina di ottimizzazione dell'indice.

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

    Screenshot che mostra la distribuzione completata per disabilitare l'ottimizzazione dell'indice.

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

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 dell'indice è abilitata, viene riattivata con una frequenza configurata nel index_tuning.analysis_interval parametro del server (il valore predefinito è 720 minuti o 12 ore) e inizia ad analizzare il carico di lavoro registrato dall'archivio query 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 dell'indice un giorno alle 10:00, poiché il valore predefinito per index_tuning.analysis_interval è 720 minuti, la prima esecuzione viene 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 dell'archivio query 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