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à.
Gestione del piano di query
Le modifiche a statistiche, vincoli, impostazioni dell'ambiente, associazioni dei parametri di query e aggiornamenti al motore di database PostgreSQL possono tutte causare la regressione del piano di query. La regressione del piano di query si verifica quando l'ottimizzatore sceglie un piano non ottimale rispetto a prima di una determinata modifica all'ambiente del database.
Nell'edizione compatibile con Amazon Aurora PostgreSQL, la funzionalità di gestione del piano di query (QPM) è progettata per garantire l'adattabilità e la stabilità del piano, indipendentemente dalle modifiche all'ambiente del database che potrebbero causare la regressione del piano di query. QPM fornisce un certo controllo sull'ottimizzatore. Con QPM, puoi gestire il piano di esecuzione delle query generato dall'ottimizzatore per le query. Il piano di esecuzione delle query impone all'ottimizzatore di scegliere tra i piani approvati per le query critiche, al fine di ottimizzarne le prestazioni.
Le aziende in genere distribuiscono applicazioni e database a livello globale o gestiscono diversi ambienti per ogni database di applicazioni, ad esempio sviluppo, controllo qualità, staging, preproduzione, test e produzione. La gestione dei piani di esecuzione delle query per ogni database, in ogni ambiente e in tutti gli ambientiRegioni AWS può essere un'operazione complessa e dispendiosa in termini di tempo. QPM può esportare e importare piani gestiti compatibili con Amazon Aurora PostgreSQL da un database all'altro. Questo ti aiuta a gestire il piano di esecuzione delle query a livello centrale e a distribuire i database a livello globale. È possibile utilizzare questa funzionalità per esaminare una serie di piani in un database di preproduzione, verificare che funzionino correttamente e quindi caricarli nell'ambiente di produzione.
QPM offre anche molti altri vantaggi. Ad esempio, è possibile utilizzare QPM per migliorare i piani di esecuzione che non possono essere modificati nelle applicazioni o quando non è possibile aggiungere suggerimenti alla dichiarazione. QPM rileva automaticamente anche i nuovi piani a costo minimo rilevati dall'ottimizzatore, in modo da poter continuare a ottimizzare i costi oltre alle prestazioni.
Si consiglia di attivare QPM. Quando QPM è abilitato, l'ottimizzatore utilizza il piano a costo minimo che hai approvato. Questo aiuta a prevenire la regressione e riduce il tempo necessario per gestire e correggere i piani non ottimali.
Esistono due approcci diversi per l'utilizzo della funzionalità QPM: proattivo e reattivo. L'approccio proattivo è progettato per aiutare a prevenire la regressione delle prestazioni e l'approccio reattivo è progettato per rilevare e correggere le regressioni delle prestazioni dopo che si sono verificate. Puoi selezionare il tuo approccio in base alle singole richieste. Per le interrogazioni complesse che potrebbero essere soggette a regressione o per le interrogazioni aziendali critiche, è possibile utilizzare un approccio proattivo e approvare i piani ottimali per tali interrogazioni. Se altre query presentano una regressione del piano di query durante l'esecuzione, è possibile utilizzare un approccio reattivo. Quando rilevi la regressione, modifica lo stato di quel pianorejected in modo che l'ottimizzatore scelga un piano diverso e approvato. Per ulteriori informazioni, vedere Procedure consigliate per la gestione dei piani di query di Aurora PostgreSQL (documentazione Aurora).
Come funziona la gestione dei piani di interrogazione?
Ai piani viene assegnato uno dei seguenti stati:approvedunapproved,preferred, orejected. L'ottimizzatore imposta il primo piano generato per ogni rendiconto gestitoapproved e quindi imposta lo stato dei piani aggiuntivi suunapproved. Successivamente, puoi valutare iunapproved piani e modificarne lo stato inapprovedpreferred, orejected. Per ulteriori informazioni, vedere Understanding Aurora PostgreSQL Query Plan management (documentazione Aurora).
I piani gestiti possono essere acquisiti manualmente o automaticamente. L'approccio più comune consiste nell'acquisire automaticamente i piani per tutti i rendiconti che vengono eseguiti due o più volte. Tuttavia, puoi anche acquisire manualmente i piani per una serie specifica di rendiconti. Per ulteriori informazioni, vedere Acquisizione dei piani di esecuzione di Aurora PostgreSQL (documentazione Aurora).
Dopo aver impostato un piano gestito, l'ottimizzatore utilizza il costopreferred o ilapproved piano che è valido e abilitato per ciascuna istruzione gestita. Per informazioni dettagliate, vedi In che modo l'ottimizzatore sceglie quale piano eseguire (documentazione Aurora).
Per istruzioni sulla configurazione della funzionalità QPM in Amazon Aurora PostgreSQL compatibile, consulta Gestione dei piani di esecuzione delle query per Aurora PostgreSQL (documentazione Aurora).
Restrizioni
Per utilizzare QPM, è necessario assicurarsi di soddisfare i requisiti per le istruzioni SQL supportate, che le istruzioni non facciano riferimento alle relazioni di sistema e che la classe di istanza DB disponga di vCPUs sufficienti. Per ulteriori informazioni, vedere Istruzioni SQL supportate e limitazioni per la gestione dei piani di interrogazione (documentazione Aurora).
Casi d'uso per la gestione del piano di query
-
Prevenzione della regressione del piano di query: mantenere aggiornata la versione del database offre molti vantaggi, come prestazioni e sicurezza migliorate, accesso a nuove funzionalità, correzioni di problemi noti e conformità ai requisiti normativi. Tuttavia, esiste il rischio che gli aggiornamenti del database possano causare una regressione delle prestazioni di alcune query. Questo rischio è maggiore con gli aggiornamenti delle versioni principali perché possono contenere modifiche che potrebbero non essere retrocompatibili con le query delle applicazioni esistenti. L'implementazione di QPM può aiutare a prevenire la regressione e stabilizzare le prestazioni durante le modifiche al sistema. Se aggiorni le statistiche, aggiungi un indice, modifichi i parametri o esegui l'upgrade a una nuova versione di Amazon Aurora compatibile con PostgreSQL, QPM rileva un nuovo piano ma continua a utilizzare il piano approvato, mantenendo così la stabilità del piano.
-
Funzionalità di test: è possibile visualizzare la cronologia del piano per tutte le istruzioni SQL gestite e valutare se le nuove funzionalità di PostgreSQL o le modifiche al piano stanno migliorando le prestazioni. Potrai quindi decidere se implementare tali funzionalità o nuovi piani. Per ulteriori informazioni, vedere Esame dei piani di query Aurora PostgreSQL nella vista dba_plans
(documentazione Aurora). -
Miglioramento di un piano: in alcuni casi, si potrebbe preferire correggere un piano non ottimale piuttosto che rifiutarlo, disabilitarlo o cancellarlo. Per ulteriori informazioni, vedere Correzione dei piani utilizzando pg_hint_plan
(documentazione Aurora).