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 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 dell'indice dipende dal monitoraggio delle prestazioni con Query Store. 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)
Accedere al portale di Azure e selezionare il Database di Azure per il server flessibile PostgreSQL.
Selezionare Parametri del server nella sezione Impostazioni del menu.
Cercare il
pg_qs.query_capture_mode
parametro.Impostare il valore su
TOP
oALL
, 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 suALL
.Cercare il parametro
index_tuning.mode
e impostarne il valore suREPORT
.Selezionare Salva.
Attendere il completamento della distribuzione prima di prendere in considerazione la funzionalità abilitata.
Abilitare l'ottimizzazione degli indici nel portale di Azure (tramite l'ottimizzazione degli indici)
Accedere al portale di Azure e selezionare il Database di Azure per il server flessibile PostgreSQL.
Selezionare Ottimizzazione dell'indice nella sezione Prestazioni intelligenti del menu.
Se
pg_qs.query_capture_mode
è impostato suNONE
oindex_tuning.mode
è impostato suOFF
, la pagina di ottimizzazione degli indici consente di abilitare l'ottimizzazione degli indici.Selezionare uno dei due pulsanti Abilita ottimizzazione dell'indice per abilitare la funzionalità di ottimizzazione dell'indice e la dipendenza dell'archivio query necessaria, a condizione che Query Store sia disabilitato.
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 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 dell'indice modificando il parametro del server corrispondente o sfruttando la pagina di ottimizzazione dell'indice.
Disabilitare l'ottimizzazione degli indici nel portale di Azure (tramite i parametri del server)
Accedere al portale di Azure e selezionare il Database di Azure per il server flessibile PostgreSQL.
Selezionare Parametri del server nella sezione Impostazioni del menu.
Cercare il parametro
index_tuning.mode
e impostarne il valore suOFF
.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_mode
NONE
.Selezionare Salva.
Attendere il completamento della distribuzione prima di prendere in considerazione la funzionalità disabilitata.
Disabilitare l'ottimizzazione degli indici nel portale di Azure (tramite l'ottimizzazione degli indici)
Accedere al portale di Azure e selezionare il Database di Azure per il server flessibile PostgreSQL.
Selezionare Ottimizzazione dell'indice nella sezione Informazioni dettagliate prestazioni query del menu.
Selezionare il pulsante Disabilita ottimizzazione dell'indice per disabilitare la funzionalità.
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_mode
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 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 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 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 |
Contenuto correlato
- Ottimizzazione degli indici in Database di Azure per PostgreSQL - Server flessibile.
- Uso delle raccomandazioni sugli indici prodotte dall'ottimizzazione degli indici in Database di Azure per PostgreSQL - Server flessibile.
- Monitorare le prestazioni con Query Store.
- Scenari di utilizzo per Query Store - Database di Azure per PostgreSQL - Server flessibile.
- Procedure consigliate per Query Store - Database di Azure per PostgreSQL - Server flessibile.
- Informazioni dettagliate prestazioni query per Database di Azure per PostgreSQL - Server flessibile.