Questa pagina descrive Index Advisor di Cloud SQL per MySQL e come visualizzare e applicare i relativi suggerimenti sugli indici.
Cloud SQL per MySQL offre un Index Advisor completamente gestito che tiene traccia delle query gestite regolarmente dal database. Periodicamente, Index Advisor analizza queste query per consigliare nuovi indici che possono migliorare le prestazioni delle query. Index Advisor consente di rilevare e risolvere i problemi di prestazioni con sistemi e query.
Come funziona Index Advisor?
Index Advisor ti aiuta a migliorare l'elaborazione delle query nei seguenti modi:
- Consiglia un insieme di indici con comandi SQL per creare indici.
- Fornisce dati per aiutarti a valutare gli indici consigliati, ad esempio le dimensioni di archiviazione stimate e l'impatto degli indici su una query.
CREATE INDEX contenente il nome del database, il nome della tabella e i nomi delle colonne. Le query monitorate sono tutte query normalizzate con tutti i valori letterali rimossi.
I suggerimenti sugli indici vengono criptati at-rest.
In Cloud SQL per MySQL, puoi utilizzare i flag di database per configurare e ottimizzare Index Advisor. Per saperne di più, consulta Flag di Index Advisor.Limitazioni
Index Advisor di Cloud SQL per MySQL presenta le seguenti limitazioni:
- Index Advisor fornisce solo suggerimenti
CREATE INDEX. - Index Advisor non supporta le istanze con le seguenti configurazioni:
- Istanze della versione Cloud SQL Enterprise
- Istanze che utilizzano tipi di macchina con core condivisi
Prima di iniziare
Per ottenere i suggerimenti di Index Advisor, devi utilizzare la versione Cloud SQL Enterprise Plus e abilitare Query Insights per la versione Cloud SQL Enterprise Plus per la tua istanza Cloud SQL.
Ruoli e autorizzazioni richiesti
Per ottenere le autorizzazioni necessarie per ottenere i suggerimenti di Index Advisor, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore Cloud SQL (roles/cloudsql.viewer) nel progetto che ospita l'istanza Cloud SQL.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito include le autorizzazioni necessarie per ottenere i suggerimenti di Index Advisor. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per ottenere i suggerimenti di Index Advisor sono necessarie le seguenti autorizzazioni:
-
databaseinsights.recommendations.query -
databaseinsights.resourceRecommendations.query
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Abilitare i suggerimenti di Index Advisor
Quando abiliti Query Insights per la versione Cloud SQL Enterprise Plus, abiliti automaticamente i suggerimenti di Index Advisor. Per saperne di più sui requisiti di riavvio, consulta Abilitare Query Insights.
Disabilitare i suggerimenti di Index Advisor
Non puoi disabilitare i suggerimenti di Index Advisor senza disabilitare Query Insights per la versione Cloud SQL Enterprise Plus.
Per disabilitare i suggerimenti di Index Advisor e Query Insights per la versione Cloud SQL Enterprise Plus, consulta Disabilitare Query Insights per la versione Cloud SQL Enterprise Plus.
Visualizzare i suggerimenti di Index Advisor
Cloud SQL esegue automaticamente l'analisi di Index Advisor periodicamente. Per visualizzare i suggerimenti di Index Advisor, utilizza la dashboard Query Insights. Puoi anche visualizzare ed eseguire query sui suggerimenti di Index Advisor come tabella o richiedere un'analisi e un report on demand in qualsiasi momento.
Visualizzare e filtrare i suggerimenti nella dashboard Query Insights
-
Nella Google Cloud console, vai alla pagina Istanze Cloud SQL.
- Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
- Fai clic su Query Insights.
- I suggerimenti di Index Advisor vengono visualizzati nella colonna Suggerimento della sezione Query e tag principali.
- (Facoltativo) Per visualizzare solo le query con suggerimenti
CREATE INDEX, aggiungi un filtro per Suggerimento: crea indici.
Visualizzare i suggerimenti per una query
Per visualizzare i suggerimenti sugli indici per una query specifica:
-
Nella Google Cloud console, vai alla pagina Istanze Cloud SQL.
- Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
- Fai clic su Query Insights.
- Nella sezione Query e tag principali, fai clic su Query.
- Per visualizzare i dettagli dei suggerimenti per una query, esegui una delle seguenti operazioni:
- Fai clic su una query per scoprire di più sui suggerimenti per la query selezionata, incluse le seguenti informazioni:
- Impatto sulle prestazioni (alto, medio e basso): la velocità di query stimata dopo la creazione di tutti gli indici consigliati.
- Suggerimenti: crea suggerimenti sugli indici.
- Tabelle interessate: il numero di tabelle che verranno interessate quando vengono creati gli indici.
- Spazio di archiviazione aggiuntivo stimato necessario: le dimensioni di archiviazione stimate necessarie per creare tutti gli indici consigliati.
- Numero di query interessate: il numero totale di query nel carico di lavoro interessate dai suggerimenti sugli indici. Un indice può avvantaggiare più query.
- Fai clic su Crea indici per una query specifica per visualizzare i suggerimenti dettagliati sulla creazione di indici per migliorare le prestazioni delle query.
- Fai clic su una query per scoprire di più sui suggerimenti per la query selezionata, incluse le seguenti informazioni:
Visualizzare i suggerimenti come visualizzazione tabella di database
Puoi leggere i risultati tramite la seguente tabella che si trova nel database mysql:
mysql.cloudsql_db_advisor_recommended_indexes: elenca tutti i nuovi indici consigliati per ogni database. Include anche le stime dello spazio di archiviazione richiesto per ogni indice e il numero di query che ogni indice può interessare.
Ad esempio, per visualizzare i risultati dell'analisi dei suggerimenti sugli indici più recente, formattati come tabella, esegui questa query:
SELECT * FROM mysql.cloudsql_db_advisor_recommended_indexes;
Crea indici consigliati
Puoi creare indici consigliati dalla dashboard Query Insights o da una visualizzazione tabella di database.
Creare un indice consigliato utilizzando la dashboard Query Insights
Per creare un indice consigliato utilizzando la dashboard Query Insights:
-
Nella Google Cloud console, vai alla pagina Istanze Cloud SQL.
- Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
- Fai clic su Query Insights.
- Nella tabella Dimensioni principali per carico del database, fai clic su Query.
- Fai clic su Crea indici per una query specifica.
- Fai clic su Copia tutti i comandi di indice. I comandi
CREATE INDEXvengono copiati negli appunti. - Connettiti all'istanza principale dalla riga di comando.
Per creare gli indici consigliati, esegui i comandi copiati negli appunti, ad esempio:
CREATE INDEX ON "public"."demo_order" ("customer_id");
Creare un indice consigliato utilizzando una visualizzazione tabella di database
La colonna index della tabella mysql.cloudsql_db_advisor_recommended_indexes
contiene, in ogni riga, un'istruzione DDL CREATE INDEX MySQL
completa per generare l'indice consigliato in quella riga.
Per applicare il suggerimento della riga, esegui l'istruzione DDL esattamente come presentata.
Ad esempio, considera questo output dell'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 singolo suggerimento: aggiungere un indice a una singola colonna nella colonna age della tabella Students dello schema School. Per applicare questo consiglio, inserisci una query DDL come rappresentata nel report:
CREATE INDEX ON "School"."Students"("age");
Visualizzare le query interessate
-
Nella Google Cloud console, vai alla pagina Istanze Cloud SQL.
- Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
- Fai clic su Query Insights.
- Nella tabella Dimensioni principali per carico del database, fai clic su Query.
- Fai clic su Crea indici per una query specifica.
- Fai clic su Mostra query interessate.
- Fai clic su una query per visualizzare i dettagli della query interessata.
Configurare Index Advisor
Sebbene Index Advisor sia progettato per funzionare per la maggior parte dei casi d'uso con le impostazioni predefinite, puoi ottimizzarne il comportamento impostando vari flag di database.
Per impostazione predefinita, Index Advisor viene eseguito una volta ogni 24 ore. Puoi modificare l'
ora di pianificazione automatica utilizzando il
cloudsql_index_advisor_auto_advisor_schedule
flag o eseguire un'analisi ad hoc in una
data/ora specifica utilizzando il
cloudsql_index_advisor_run_at_timestamp flag.
Per saperne di più, consulta
Flag di Index Advisor.