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à.
Riferimento ai parametri per la gestione del piano di interrogazione di Aurora SQL Postgre
È possibile impostare le preferenze per l’estensione apg_plan_mgmt
utilizzando i parametri elencati in questa sezione. Questi sono disponibili nel parametro cluster DB personalizzato e nel gruppo di parametri DB associato al cluster Aurora SQL Postgre DB. Questi parametri controllano il comportamento della funzionalità di gestione del piano di query e in che modo influenza l'ottimizzatore. Per informazioni su come impostare la gestione del piano di query, consulta Attivazione della gestione del piano di interrogazione di Aurora SQL Postgree. La modifica dei seguenti parametri non ha effetto se l’estensione apg_plan_mgmt
non è impostata come descritto in tale sezione. Per informazioni sulla modifica dei parametri, consulta Modifica dei parametri in un gruppo di parametri del cluster DB in Amazon Aurora e Gruppi di parametri DB per DB Amazon Aurora.
Parametri
- apg_plan_mgmt.capture_plan_baselines
- apg_plan_mgmt.plan_capture_threshold
- apg_plan_mgmt.explain_hashes
- apg_plan_mgmt.log_plan_enforcement_result
- apg_plan_mgmt.max_databases
- apg_plan_mgmt.max_plans
- apg_plan_mgmt.plan_hash_version
- apg_plan_mgmt.plan_retention_period
- apg_plan_mgmt.unapproved_plan_execution_threshold
- apg_plan_mgmt.use_plan_baselines
- auto_explain.hashes
apg_plan_mgmt.capture_plan_baselines
Acquisisce i piani di esecuzione delle query generati dall'ottimizzatore per ogni SQL istruzione e li memorizza nella vista. dba_plans
Per impostazione predefinita, il numero massimo di piani che è possibile memorizzare è 10.000, come specificato dal parametro apg_plan_mgmt.max_plans
. Per informazioni di riferimento, consulta apg_plan_mgmt.max_plans.
Questo parametro può essere impostato nel gruppo di parametri del cluster database personalizzato o nel gruppo di parametri DB personalizzato. La modifica del valore di questo parametro non richiede un riavvio.
Predefinita | Valori consentiti | Descrizione |
---|---|---|
off | automatic | Attiva l'acquisizione del piano per tutti i database sull'istanza database. Raccoglie un piano per ogni SQL istruzione che viene eseguita due o più volte. Utilizzare questa impostazione per carichi di lavoro di grandi dimensioni o in evoluzione per fornire stabilità del piano. |
manual | Attiva l'acquisizione dei piani solo per istruzioni successive, fino a quando non viene nuovamente disattivato. L'utilizzo di questa impostazione consente di acquisire piani di esecuzione delle query solo per SQL istruzioni critiche specifiche o per query problematiche note. | |
off | Disattiva l'acquisizione del piano. |
Per ulteriori informazioni, consulta Acquisizione dei piani di esecuzione Aurora PostgreSQL.
apg_plan_mgmt.plan_capture_threshold
Specifica una soglia in modo che se il costo totale del piano di esecuzione delle query è inferiore alla soglia, il piano non venga acquisito nella vista apg_plan_mgmt.dba_plans
.
La modifica del valore di questo parametro non richiede un riavvio.
Predefinita | Valori consentiti | Descrizione |
---|---|---|
0 | 0 - 1.79769e+308 | Imposta la soglia del costo totale di esecuzione del piano di query |
Per ulteriori informazioni, consulta Esame dei piani di query Aurora PostgreSQL nella vista dba_plans.
apg_plan_mgmt.explain_hashes
Specifica se EXPLAIN [ANALYZE]
mostra sql_hash
e plan_hash
alla fine del relativo output. La modifica del valore di questo parametro non richiede un riavvio.
Predefinita | Valori consentiti | Descrizione |
---|---|---|
0 | 0 (off) | EXPLAINnon mostra l'opzione sql_hash e plan_hash senza hashes true. |
1 (on) | EXPLAINmostra l'opzione sql_hash e plan_hash senza hash true. |
apg_plan_mgmt.log_plan_enforcement_result
Speciifica se i risultati devono essere registrati per vedere se i piani gestiti vengono utilizzati correttamente. QPM Quando viene utilizzato un piano generico archiviato, non verrà scritto alcun record nei file di log. La modifica del valore di questo parametro non richiede un riavvio.
Predefinita | Valori consentiti | Descrizione |
---|---|---|
nessuno | nessuno | Non mostra alcun risultato dell'applicazione del piano nei file di log. |
on_error | Mostra i risultati dell'applicazione del piano nei file di registro solo quando QPM non vengono utilizzati i piani gestiti. | |
tutto | Mostra tutti i risultati dell'applicazione del piano nei file di log, incluse le operazioni riuscite e non riuscite. |
apg_plan_mgmt.max_databases
Speciifica il numero massimo di database sull'istanza Writer del cluster Aurora SQL Postgre DB che possono utilizzare la gestione del piano di query. L'impostazione predefinita è 10 database. Se sull'istanza sono presenti più di 10 database, il valore dell'impostazione può essere modificato. Per scoprire quanti database sono presenti in una determinata istanza, connettersi all'istanza utilizzando psql
. Quindi, utilizzare il metacomando psql, \l
, per elencare i database.
La modifica del valore di questo parametro richiede il riavvio dell'istanza affinché l'impostazione diventi effettiva.
Predefinita | Valori consentiti | Descrizione |
---|---|---|
10 | 10-2147483647 | Numero massimo di database che possono utilizzare la gestione del piano di query sull’istanza. |
Questo parametro può essere impostato nel gruppo di parametri del cluster database personalizzato o nel gruppo di parametri DB personalizzato.
apg_plan_mgmt.max_plans
Imposta il numero massimo di SQL istruzioni che il gestore del piano di query può mantenere nella vista. apg_plan_mgmt.dba_plans
Consigliamo di impostare questo parametro su 10000
o superiore per tutte le versioni di Aurora SQL Postgre.
Questo parametro può essere impostato nel gruppo di parametri del cluster database personalizzato o nel gruppo di parametri DB personalizzato. La modifica del valore di questo parametro richiede il riavvio dell'istanza affinché l'impostazione diventi effettiva.
Predefinita | Valori consentiti | Descrizione |
---|---|---|
10000 | 10-2147483647 | Numero massimo di piani che possono essere archiviati nella vista L'impostazione predefinita per Aurora Postgre SQL versione 10 e versioni precedenti è 1000. |
Per ulteriori informazioni, consulta Esame dei piani di query Aurora PostgreSQL nella vista dba_plans.
apg_plan_mgmt.plan_hash_version
Specifica i casi d'uso che il calcolo plan_hash è progettato per coprire. Una versione superiore di apg_plan_mgmt.plan_hash_version
copre tutte le funzionalità della versione inferiore. Ad esempio, la versione 3 copre i casi d'uso supportati dalla versione 2.
La modifica del valore di questo parametro deve essere seguita da una chiamata a apg_plan_mgmt.validate_plans('update_plan_hash')
. Aggiorna i valori plan_hash in ogni database con apg_plan_mgmt installato e le voci nella tabella dei piani. Per ulteriori informazioni, consulta Convalida dei piani
Predefinita | Valori consentiti | Descrizione |
---|---|---|
1 | 1 | Calcolo di plan_hash predefinito. |
2 | Calcolo di plan_hash modificato per il supporto di più schemi. | |
3 | Calcolo di plan_hash modificato per il supporto di più schemi e delle tabelle partizionate. | |
4 | plan_hash calculation modificato per gli operatori paralleli e per supportare i nodi di materializzazione. |
apg_plan_mgmt.plan_retention_period
Specifica il numero di giorni per cui si desidera mantenere i piani nella vista apg_plan_mgmt.dba_plans
prima che vengano eliminati automaticamente. Per impostazione predefinita, un piano viene eliminato quando sono trascorsi 32 giorni dall'ultimo utilizzo del piano (la colonna last_used
nella vista apg_plan_mgmt.dba_plans
). Questa impostazione può essere modificata in un numero qualsiasi, 1 e valori superiori.
La modifica del valore di questo parametro richiede il riavvio dell'istanza affinché l'impostazione diventi effettiva.
Predefinita | Valori consentiti | Descrizione |
---|---|---|
32 | 1-2147483647 | Numero massimo di giorni dall'ultimo utilizzo di un piano prima che venga eliminato. |
Per ulteriori informazioni, consulta Esame dei piani di query Aurora PostgreSQL nella vista dba_plans.
apg_plan_mgmt.unapproved_plan_execution_threshold
Specifica una soglia di costo al di sotto della quale un piano non approvato può essere utilizzato dall'ottimizzatore. La soglia è 0 per impostazione predefinita, in modo che l'ottimizzatore non esegua piani non approvati. L'impostazione di questo parametro su una soglia di costo estremamente bassa, ad esempio 100, evita il sovraccarico di applicazione del piano nei piani banali. È inoltre possibile impostare questo parametro su un valore estremamente elevato, ad esempio 10000000, utilizzando lo stile reattivo di gestione del piano. Ciò consente all'ottimizzatore di utilizzare tutti i piani scelti senza generare sovraccarichi dovuti all'applicazione del piano. Tuttavia, quando viene trovato un piano errato, è possibile contrassegnarlo manualmente come "rejected" in modo che non venga utilizzato la volta successiva.
Il valore di questo parametro rappresenta una stima dei costi per l'esecuzione di un determinato piano. Se un piano non approvato è inferiore al costo stimato, l'ottimizzatore lo utilizza per la dichiarazione. SQL I piani acquisiti e il relativo stato (Approvato, Non approvato) sono visibili nella vista dba_plans
. Per ulteriori informazioni, consulta Esame dei piani di query Aurora PostgreSQL nella vista dba_plans.
La modifica del valore di questo parametro non richiede un riavvio.
Predefinita | Valori consentiti | Descrizione |
---|---|---|
0 | 0-2147483647 | Costo del piano stimato al di sotto del quale viene utilizzato un piano non approvato. |
Per ulteriori informazioni, consulta Utilizzo dei piani gestiti per Aurora PostgreSQL.
apg_plan_mgmt.use_plan_baselines
Specifica che l'ottimizzatore deve utilizzare uno dei piani approvati acquisiti e archiviati nella vista apg_plan_mgmt.dba_plans
. Per impostazione predefinita, questo parametro è disattivato (false). Di conseguenza, l'ottimizzatore utilizzerà il piano a costo minimo che genera senza un'ulteriore valutazione. L'attivazione di questo parametro (impostandolo su true) obbliga l'ottimizzatore a scegliere un piano di esecuzione della query per l'istruzione dalla sua baseline del piano. Per ulteriori informazioni, consulta Utilizzo dei piani gestiti per Aurora PostgreSQL. Per trovare un'immagine che descrive questo processo, consulta In che modo l'ottimizzatore sceglie quale piano eseguire..
Questo parametro può essere impostato nel gruppo di parametri del cluster database personalizzato o nel gruppo di parametri DB personalizzato. La modifica del valore di questo parametro non richiede un riavvio.
Predefinita | Valori consentiti | Descrizione |
---|---|---|
false | true | Utilizzare un piano Approvato, Preferito o Non approvato del parametro apg_plan_mgmt.dba_plans . Se nessuno di questi soddisfa tutti i criteri di valutazione dell'ottimizzatore, è possibile utilizzare il piano a costo minimo generato. Per ulteriori informazioni, consulta In che modo l'ottimizzatore sceglie quale piano eseguire.. |
false | Utilizzare il piano a costo minimo generato dall'ottimizzatore. |
I tempi di risposta dei diversi piani acquisiti possono essere valutati e lo stato del piano modificato, in base alle esigenze. Per ulteriori informazioni, consulta Miglioramento dei piani di interrogazione di Aurora Postgres SQL.
auto_explain.hashes
Specifica se l'output di auto_explain mostra sql_hash e plan_hash. La modifica del valore di questo parametro non richiede un riavvio.
Predefinita | Valori consentiti | Descrizione |
---|---|---|
0(off) | 0(off) | Il risultato auto_explain non mostra sql_hash e plan_hash . |
1(on) | Il risultato auto_explain mostra sql_hash e plan_hash . |