Utilizza i suggerimenti sull'indicizzazione

In questa pagina viene descritto il consulente sull'indicizzazione di Cloud SQL per PostgreSQL e come puoi visualizzare e applicare i relativi suggerimenti sull'indice.

Cloud SQL per PostgreSQL offre un consulente sull'indicizzazione che monitora le query handle del database. Analizza periodicamente queste query per consigliare nuovi indici che possano aumentare la quantità di query delle prestazioni.

Puoi visualizzare ed eseguire query sui suggerimenti dei suggerimenti sull'indicizzazione sotto forma di tabella, oppure richiedere un analisi on demand e report in qualsiasi momento.

Abilita i suggerimenti dei suggerimenti sull'indicizzazione

Per abilitare i suggerimenti dei suggerimenti sull'indicizzazione, configurare Gemini in Databases.

Disabilita i suggerimenti dei suggerimenti sull'indicizzazione

Per disabilitare i suggerimenti dei suggerimenti sull'indicizzazione, rimuovi cloudsql.enable_index_advisor dall'istanza Cloud SQL per PostgreSQL. Per ulteriori informazioni come rimuovere un flag dall'istanza, consulta Configurare i flag di database.

Visualizza i suggerimenti del consulente sull'indicizzazione

Cloud SQL per PostgreSQL esegue automaticamente l'analisi di Index Advisors periodicamente.

Puoi leggere i risultati tramite le seguenti visualizzazioni tabella in ciascuno dei database:

  • google_db_advisor_recommended_indexes: elenca i nuovi consigli per ogni database. Include inoltre stime del spazio di archiviazione richiesto per ogni indice e il numero di query che l'indice può influire.

  • google_db_advisor_workload_report: elenca ogni query per che il consulente consiglia uno o più nuovi indici. Ogni riga riassume i consigli per la query pertinente.

Ad esempio, per visualizzare i risultati del suggerimento sull'indicizzazione più recente dell'analisi, formattata come tabella, esegui questa query:

SELECT * FROM google_db_advisor_recommended_indexes;

Se l'analisi più recente del consulente sull'indicizzazione non trova consigli, la query restituisce una tabella senza righe.

Poiché tutti questi report esistono come normali viste del database, puoi scrivere query che filtrano o presentano queste informazioni. Ad esempio: per visualizzare un report che accoppia gli indici consigliati con alla query associata completa, unisciti google_db_advisor_workload_report e google_db_advisor_workload_statements visualizzazioni sul suo rispettive colonne query_id:

SELECT DISTINCT recommended_indexes, query
FROM google_db_advisor_workload_report r, google_db_advisor_workload_statements s
WHERE r.query_id = s.query_id;

Richiedi manualmente un'analisi dell'indice

Anziché attendere la successiva analisi pianificata del consulente sull'indicizzazione, può richiedere che Cloud SQL per PostgreSQL esegua immediatamente un'analisi visualizzare il relativo report. Per Cloud SQL per PostgreSQL, devi attendere almeno 15 minuti dopo aver abilitato il suggerimento sull'indicizzazione per l'esecuzione di un'analisi manuale. Per farlo, esegui questa funzione SQL:

SELECT * FROM google_db_advisor_recommend_indexes();

Al termine dell'analisi, Cloud SQL per PostgreSQL visualizza un report in formato tabella con la descrizione e le stime le esigenze di archiviazione degli indici consigliati. Se l'analisi non trova nuovi gli indici da consigliare, la vista non contiene righe.

Tieni presente che il ruolo utente che esegue questo comando può influire sui suggerimenti visualizzati. Cloud SQL per PostgreSQL limita la visualizzazione ai suggerimenti sull'indicizzazione in base a query eseguite dall'utente del database corrente.

Applica i suggerimenti del consulente sull'indicizzazione

La colonna index della vista google_db_advisor_recommended_indexes contiene, in ogni riga, un DDL PostgreSQL CREATE INDEX completo per generare l'indice consigliato in quella riga.

Per applicare il suggerimento della riga, esegui l'istruzione DDL, esattamente come presentati. Devi copiarlo negli appunti e incollarlo. in un prompt psql.

Ad esempio, considera questo output dall'esecuzione manuale di un'analisi utilizzando la query descritta nella sezione precedente:

                    index                   | estimated_storage_size_in_mb
--------------------------------------------+------------------------------
 CREATE INDEX ON "School"."Students"("age") |                            3
(1 row)

Questo report contiene un solo consiglio: aggiungere una colonna singola indice nella colonna age all'interno dello schema Students dello schema School . Per applicare questo consiglio, inserisci una query DDL come rappresentati nel report:

CREATE INDEX ON "School"."Students"("age");

Visualizza le query monitorate da Index Advisor

La vista google_db_advisor_workload_statements contiene un elenco di tutte le query tracciate dal consulente sull'indicizzazione, metadati importanti per ciascuno, ad esempio le seguenti metriche:

  • Il numero di volte in cui l'istanza ha eseguito ogni query
  • Il tempo totale impiegato dall'istanza per elaborare queste query
  • L'ID dell'utente del database che esegue queste query

Cancella le query monitorate del consulente sull'indicizzazione

Puoi reimpostare il comportamento dei suggerimenti sull'indicizzazione su un'istanza la cancellazione delle query monitorate. Per farlo, esegui questa funzione SQL:

SELECT google_db_advisor_reset();

Cloud SQL per PostgreSQL svuota le risorse di Index Advisors una raccolta immediata di query monitorate.