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:
Selezionare l'istanza del server flessibile di Database di Azure per PostgreSQL.
Nel menu delle risorse, nella sezione Impostazioni selezionare Parametri del server.
Cercare
pg_qs.query_capture_mode
.Impostarne 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
index_tuning.mode
.Impostare il relativo valore 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_mode
NONE
.
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)
Tramite il portale di Azure:
Selezionare l'istanza del server flessibile di Database di Azure per PostgreSQL.
Nel menu delle risorse, nella sezione Informazioni dettagliate prestazioni query selezionare Ottimizzazione dell'indice.
pg_qs.query_capture_mode
Se è impostato su oindex_tuning.mode
è impostatoNONE
suOFF
, 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.Attendere il completamento della distribuzione prima di prendere in considerazione la funzionalità.
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:
Selezionare l'istanza del server flessibile di Database di Azure per PostgreSQL.
Nel menu delle risorse, nella sezione Impostazioni selezionare Parametri del server.
Cercare
index_tuning.mode
.Impostare il relativo valore 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_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)
Tramite il portale di Azure:
Selezionare l'istanza del server flessibile di Database di Azure per PostgreSQL.
Nel menu delle risorse, nella sezione Informazioni dettagliate prestazioni query selezionare Ottimizzazione dell'indice.
Selezionare il pulsante Disabilita ottimizzazione dell'indice per disabilitare la funzionalità.
Attendere il completamento della distribuzione prima di prendere in considerazione 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 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 |
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.