Utilizzare gli approfondimenti sulle query per migliorare le prestazioni delle query

Questa pagina descrive come utilizzare la dashboard di Query Insights per rilevare e analizzare i problemi di prestazioni delle query.

Introduzione

Query Insights consente di rilevare, diagnosticare e prevenire i problemi di prestazioni delle query per i database Cloud SQL. Supporta il monitoraggio intuitivo e fornisce informazioni diagnostiche che non si limitano al rilevamento per identificare la causa principale dei problemi di prestazioni.

Query Insights ti aiuta a migliorare le prestazioni delle query Cloud SQL guidandoti attraverso i seguenti passaggi:

Query Insights per Cloud SQL Enterprise Plus

Se utilizzi la versione Cloud SQL Enterprise Plus, puoi accedere a funzionalità aggiuntive in Query Insights per eseguire la diagnostica avanzata delle prestazioni delle query. Oltre alle funzionalità standard della dashboard di Query Insights, Query Insights per Cloud SQL Enterprise Plus consente di:

  • Acquisisci un testo di query più lungo, fino a 20 kB.
  • Acquisisci i piani di query per tutte le query eseguite.
  • Campiona fino a 200 piani di query al minuto.
  • Mantenere una conservazione delle metriche più lunga, di 30 giorni.
  • Ottenere suggerimenti sull'indicizzazione da Index Advisor.
  • Termina una sessione o una transazione a lunga esecuzione nelle query attive.
  • Accedi alla risoluzione dei problemi assistita dall'AI (anteprima).

La tabella seguente mette a confronto i requisiti e le funzionalità di Query Insights per la versione Cloud SQL Enterprise con Query Insights per la versione Cloud SQL Enterprise Plus.

Area di confronto Query Insights per la versione Cloud SQL Enterprise Query Insights per Cloud SQL Enterprise Plus
Versioni del database supportate

Tutte le versioni delle seguenti istanze:

  • SQL Server Web
  • SQL Server Standard
  • SQL Server Enterprise

Query Insights non è supportato nelle istanze della versione SQL Server Express

SQL Server Enterprise versione 2019 o 2022
Tipi di macchine supportati Supportato su tutti i tipi di macchine Non supportato su istanze che utilizzano un tipo di macchina con core condivisi
Regioni supportate Località regionali di Cloud SQL Località regionali della versione Cloud SQL Enterprise Plus
Periodo di conservazione delle metriche 7 giorni 30 giorni
Limite massimo di lunghezza della query 4500 byte 20 kB
Numero massimo di esempi di piano di query 20 200
Suggerimenti di Index Advisor Non disponibile Disponibile
Termina le sessioni o le transazioni di lunga durata nelle query attive Non disponibile Disponibile
Risoluzione dei problemi assistita dall'AI (anteprima) Non disponibile Disponibile
Limiti di cardinalità delle query Riporta le statistiche aggregate per tutte le query. Riporta le statistiche aggregate per tutte le query.

Abilita Query Insights per la versione Cloud SQL Enterprise Plus

Per abilitare Query Insights per la versione Cloud SQL Enterprise Plus, seleziona Abilita le funzionalità Enterprise Plus quando abiliti Query Insights nell'istanza della versione Cloud SQL Enterprise Plus.

Prezzi

Non sono previsti costi aggiuntivi per Query Insights sulle istanze della versione Cloud SQL Enterprise o Cloud SQL Enterprise Plus.

Requisiti di spazio di archiviazione

Query Insights archivia i dati delle metriche nell'istanza e richiede di mantenere abilitata l'impostazione degli aumenti automatici dello spazio di archiviazione. Si applicano le tariffe di archiviazione applicabili.

Limitazioni

Le seguenti limitazioni si applicano a Query Insights per le istanze della versione Cloud SQL Enterprise Plus:

  • Se l'istanza è sottoposta a un carico di sistema elevato, quando esegui query sui dati delle metriche nella dashboard Query Insights, il caricamento delle query potrebbe essere lento o scadere.
  • Se ricrei una replica di lettura, questa non mantiene la cronologia delle metriche precedenti.
  • Quando ripristini un'istanza di Query Insights per Cloud SQL Enterprise Plus da un backup precedente, potresti perdere le metriche raccolte tra il momento in cui è stato eseguito il backup e il momento in cui ripristini l'istanza. Ad esempio, se ripristini l'istanza il 30 aprile con un backup eseguito il 25 aprile, potresti perdere tutte le metriche tra il 25 e il 30 aprile.

Prima di iniziare

Prima di utilizzare Query Insights, segui questi passaggi.

  1. Aggiungi i ruoli e le autorizzazioni richiesti.
  2. Abilita l'API Cloud Trace.
  3. Se utilizzi Query Insights per la versione Cloud SQL Enterprise o Query Insights per la versione Cloud SQL Enterprise Plus, assicurati che l'opzione Abilita gli aumenti automatici dello spazio di archiviazione sia abilitata per l'istanza.

Ruoli e autorizzazioni richiesti

Per ottenere le autorizzazioni necessarie per accedere ai dati storici di esecuzione delle query nella dashboard di Query Insights, chiedi all'amministratore di concederti i seguenti ruoli IAM 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.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Abilita l'Cloud Trace API

Per visualizzare i piani di query e le relative visualizzazioni end-to-end, nel tuo progetto Google Cloud deve essere abilitata l'Cloud Trace API. Questa impostazione consente al tuo progettoGoogle Cloud di ricevere dati di traccia da origini autenticate senza costi aggiuntivi. Questi dati possono aiutarti a rilevare e diagnosticare problemi di prestazioni nell'istanza.

Per verificare che lCloud Trace API sia abilitata, segui questi passaggi:

  1. Nella console Google Cloud , vai ad API e servizi:

    Vai ad API e servizi

  2. Fai clic su Abilita API e servizi.
  3. Nella barra di ricerca, inserisci Cloud Trace API.
  4. Se viene visualizzato API abilitata, l'API è abilitata e non devi fare nulla. Altrimenti, fai clic su Abilita.

Abilita aumenti automatici dello spazio di archiviazione

Se utilizzi Query Insights per Cloud SQL Enterprise Plus, assicurati che l'impostazione dell'istanza per abilitare gli aumenti automatici dello spazio di archiviazione rimanga abilitata. Per impostazione predefinita, questa opzione è abilitata per le istanze Cloud SQL.

Se in precedenza hai disabilitato questa impostazione dell'istanza e vuoi attivare Query Insights per Cloud SQL Enterprise Plus, devi prima riattivare gli aumenti automatici dello spazio di archiviazione. Non puoi disattivare gli aumenti automatici dello spazio di archiviazione e attivare Query Insights per la versione Cloud SQL Enterprise Plus.

Abilita Query Insights

Quando abiliti Query Insights, tutte le altre operazioni vengono temporaneamente sospese. Queste operazioni includono controlli di integrità, logging, monitoraggio e altre operazioni sulle istanze.

Console

Abilita Query Insights per un'istanza

  1. Nella console Google Cloud , vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Nel riquadro Configurazione, fai clic su Modifica configurazione.
  4. Nella sezione Personalizza la tua istanza, espandi Query Insights.
  5. Seleziona la casella di controllo Abilita Query Insights.
  6. (Facoltativo) Seleziona funzionalità aggiuntive per l'istanza. Alcune funzionalità sono disponibili solo per la versione Cloud SQL Enterprise Plus.
  7. Funzionalità Descrizione Cloud SQL Enterprise edition Versione Cloud SQL Enterprise Plus
    Abilita le funzionalità di Enterprise Plus Seleziona questa casella di controllo per abilitare Query Insights per la versione Cloud SQL Enterprise Plus. Query Insights per Cloud SQL Enterprise Plus ti consente di terminare le sessioni e le transazioni a lunga esecuzione nelle query attive, abilita i suggerimenti di Index Advisor per aiutarti ad accelerare l'elaborazione delle query e aumenta la conservazione dei dati delle metriche a 30 giorni. I suggerimenti di Index Advisor vengono abilitati automaticamente quando abiliti Query Insights per la versione Cloud SQL Enterprise Plus. Per disattivare i suggerimenti di Index Advisor, deseleziona questa casella di controllo. Devi selezionare questa casella di controllo per attivare i suggerimenti di Index Advisor e la risoluzione dei problemi assistita dall'AI (anteprima). Non disponibile Disponibile

    Impostazione predefinita: disattivata
    Risoluzione dei problemi assistita dall'AI Seleziona questa casella di controllo per abilitare il rilevamento di anomalie delle prestazioni, l'analisi delle cause principali e della situazione e per ottenere suggerimenti per la risoluzione dei problemi relativi alle query e al database. Questa funzionalità è in anteprima e puoi attivarla e accedervi solo utilizzando la console Google Cloud . Per saperne di più, consulta Osserva e risolvi i problemi con l'assistenza AI. Non disponibile Disponibile

    Valore predefinito: disattivato
    Personalizza la lunghezza delle query Seleziona questa casella di controllo per personalizzare il limite per la lunghezza di una stringa di query. Se le query hanno una lunghezza maggiore, sono più utili per le query analitiche, ma richiedono anche più memoria. Qualsiasi stringa di query che supera il limite specificato viene troncata nella visualizzazione.

    Quando modifichi il limite di lunghezza delle query, devi riavviare l'istanza.
    Puoi impostare il limite in byte da 256 byte a 4500 byte.

    Valore predefinito: 1024.
    Puoi specificare un limite in byte compreso tra 256 e 20480.

    Valore predefinito: 10240 byte (10 kB).
    Imposta la frequenza di campionamento massima Seleziona questa casella di controllo per impostare la frequenza di campionamento massima. La frequenza di campionamento è il numero di campioni di piano di query eseguiti che vengono acquisiti al minuto su tutti i database dell'istanza. È probabile che l'aumento della frequenza di campionamento fornisca più punti dati, ma potrebbe incrementare l'overhead delle prestazioni. Modifica questo valore scegliendo un numero compreso tra 0 e 20.

    Valore predefinito: 5.
    Puoi aumentare il numero massimo a 200 per fornire più punti dati.

    Valore predefinito: 5.
  8. Fai clic su Salva.

Abilita Query Insights per più istanze

  1. Nella console Google Cloud , vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Fai clic sul menu Altre azioni in qualsiasi riga.
  3. Seleziona Abilita Query Insights.
  4. Nella finestra di dialogo, seleziona la casella di controllo Abilita Query Insights per più istanze.
  5. Fai clic su Attiva.
  6. Nella finestra di dialogo successiva, seleziona le istanze per cui vuoi abilitare Query Insights.
  7. Fai clic su Abilita Query Insights.

gcloud

Per abilitare Query Insights per un'istanza Cloud SQL utilizzando gcloud, esegui gcloud sql instances patch con il flag --insights-config-query-insights-enabled come segue dopo aver sostituito INSTANCE_ID con l'ID dell'istanza.

Se abiliti Query Insights per un'istanza Cloud SQL Enterprise Plus, abiliti automaticamente i suggerimenti di Index Advisor.

    gcloud sql instances patch INSTANCE_ID \
    --insights-config-query-insights-enabled
  

Inoltre, utilizza uno o più dei seguenti flag facoltativi:

  • --insights-config-query-string-length

    Imposta il limite predefinito per la lunghezza delle query. Se le query hanno una lunghezza maggiore, sono più utili per le query analitiche, ma richiedono anche più memoria. Quando modifichi il limite di lunghezza delle query, devi riavviare l'istanza. Per la versione Cloud SQL Enterprise, puoi specificare un valore in byte compreso tra 256 e 4500. La lunghezza predefinita della query è 1024 byte. Per la versione Cloud SQL Enterprise Plus, puoi specificare un limite in byte compreso tra 256 e 20480. Il valore predefinito è 10240 byte (10 KB).

  • --insights-config-query-plans-per-minute

    Per impostazione predefinita, vengono acquisiti un massimo di cinque campioni di piano di query eseguiti al minuto su tutti i database dell'istanza. È probabile che l'aumento della frequenza di campionamento fornisca più punti dati, ma potrebbe incrementare l'overhead delle prestazioni. Per disattivare il campionamento, imposta questo valore su 0. Per la versione Cloud SQL Enterprise, puoi modificare il valore da 0 a 20. Per la versione Cloud SQL Enterprise Plus, puoi aumentare il valore massimo fino a 200 per fornire più punti dati.

Sostituisci quanto segue:

gcloud sql instances patch INSTANCE_ID \
--insights-config-query-insights-enabled \
--insights-config-query-string-length=INSIGHTS_CONFIG_QUERY_STRING_LENGTH \
--insights-config-query-plans-per-minute=QUERY_PLANS_PER_MINUTE \
--tier=API_TIER_STRING \
--region=REGION
  

REST v1

Per abilitare Query Insights per un'istanza Cloud SQL utilizzando l'API REST, chiama il metodo instances.patch con le impostazioni insightsConfig.

Se abiliti Query Insights per un'istanza Cloud SQL Enterprise Plus, abiliti automaticamente i suggerimenti di Index Advisor.

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • PROJECT_ID: l'ID progetto
  • INSTANCE_ID: l'ID istanza

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Corpo JSON della richiesta:

{
  "settings" : {
     "insightsConfig" : {
       "queryInsightsEnabled" : true,
       "queryStringLength" : 1024,
       "queryPlansPerMinute" : 20,
   }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2025-03-28T22:43:40.009Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Terraform

Per utilizzare Terraform per abilitare Query Insights per un'istanza Cloud SQL, imposta il flag query_insights_enabled su true.

Se abiliti Query Insights per un'istanza Cloud SQL Enterprise Plus, abiliti automaticamente i suggerimenti di Index Advisor.

Inoltre, puoi utilizzare uno o più dei seguenti flag facoltativi:

  • query_string_length: per la versione Cloud SQL Enterprise, puoi specificare un valore in byte compreso tra 256 e 4500. La lunghezza predefinita della query è 1024 byte. Per la versione Cloud SQL Enterprise Plus, puoi specificare un limite in byte compreso tra 256 e 20480. Il valore predefinito è 10240 byte (10 KB).
  • query_plans_per_minute: per la versione Cloud SQL Enterprise, puoi impostare il valore da 0 a 20. Il valore predefinito è 5. Per la versione Cloud SQL Enterprise Plus, puoi aumentare il valore massimo fino a 200 per fornire più punti dati.

Ecco un esempio:

Per applicare la configurazione di Terraform in un progetto Google Cloud , completa i passaggi descritti nelle sezioni seguenti.

Prepara Cloud Shell

  1. Avvia Cloud Shell.
  2. Imposta il progetto Google Cloud predefinito in cui vuoi applicare le configurazioni Terraform.

    Devi eseguire questo comando una sola volta per progetto e puoi eseguirlo in qualsiasi directory.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Le variabili di ambiente vengono sostituite se imposti valori espliciti nel file di configurazione Terraform.

Prepara la directory

Ogni file di configurazione Terraform deve avere la propria directory (chiamata anche modulo principale).

  1. In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome file deve avere l'estensione .tf, ad esempio main.tf. In questo tutorial, il file è denominato main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.

    Copia il codice campione nel file main.tf appena creato.

    Facoltativamente, copia il codice da GitHub. Questa opzione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.

  3. Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
  4. Salva le modifiche.
  5. Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
    terraform init

    Facoltativamente, per utilizzare l'ultima versione del provider Google, includi l'opzione -upgrade:

    terraform init -upgrade

Applica le modifiche

  1. Esamina la configurazione e verifica che le risorse che Terraform creerà o aggiornerà corrispondano alle tue aspettative:
    terraform plan

    Apporta le correzioni necessarie alla configurazione.

  2. Applica la configurazione Terraform eseguendo il comando seguente e inserendo yes al prompt:
    terraform apply

    Attendi finché Terraform non visualizza il messaggio "Apply complete!".

  3. Apri il tuo progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud , vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.

Le metriche dovrebbero essere disponibili in Query Insights entro pochi minuti dal completamento della query.

Visualizza la dashboard di Query Insights

La dashboard di Query Insights mostra il carico delle query in base ai fattori che selezioni. Il carico delle query è una misura del lavoro totale per tutte le query nell'istanza nell'intervallo di tempo selezionato. La dashboard fornisce una serie di filtri che ti aiutano a visualizzare il carico delle query.

Per aprire la dashboard di Query Insights, segui questi passaggi:

  1. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  2. Nel menu di navigazione di Cloud SQL, fai clic su Query Insights o su Vai a Query Insights per informazioni più approfondite su query e prestazioni nella pagina Panoramica dell'istanza.
  3. Viene visualizzata la dashboard Query Insights. A seconda che tu stia utilizzando Query Insights per la versione Cloud SQL Enterprise o Query Insights per la versione Cloud SQL Enterprise Plus, la dashboard di Query Insights mostra le seguenti informazioni sull'istanza:

Mostra la dashboard di Query Insights, con menu a discesa per i database. A destra dei menu a discesa è presente un filtro per impostare un intervallo di tempo.

  • Database: filtra il carico delle query su un database specifico o su tutti i database.
  • Intervallo di tempo: filtra il carico delle query in base a intervalli di tempo, ad esempio 1 ora, 6 ore, 1 giorno, 7 giorni, 30 giorni o un intervallo personalizzato.
  • Grafico del carico del database: visualizza il grafico del carico delle query in base ai dati filtrati.
  • Query e Database: filtra il carico delle query in base a una query o a un database selezionato. Consulta Filtra il carico del database.

Visualizza il carico del database per tutte le query

Il carico delle query del database è una misura del lavoro (in secondi CPU) che le query eseguite nel database selezionato svolgono nel tempo. Ogni query in esecuzione utilizza o è in attesa di risorse CPU, risorse I/O o risorse di blocco. Il carico delle query del database è il rapporto tra il tempo impiegato da tutte le query completate in un determinato intervallo di tempo e il tempo reale.

La dashboard di Query Insights di primo livello mostra il grafico Carico del database per tempo di esecuzione. I menu a discesa della dashboard consentono di filtrare il grafico per tutti i database o per un database specifico.

Mostra tutte le query eseguite per un database scelto.

Le linee colorate nel grafico mostrano il carico per database in base al tempo di esecuzione. Esamina il grafico e utilizza le opzioni di filtro per esplorare queste domande:

  • Il carico delle query è elevato? Il grafico mostra picchi o valori elevati nel tempo? Se non vedi un carico elevato, il problema non è la query.
  • Da quanto tempo il carico è elevato? È alta solo ora o è alta da molto tempo? Utilizza il selettore dell'intervallo per selezionare vari periodi di tempo e scoprire da quanto tempo persiste il problema. Aumenta lo zoom per visualizzare una finestra temporale in cui si osservano picchi di carico delle query. Diminuisci lo zoom per visualizzare fino a una settimana della sequenza temporale.
  • Quale database sta riscontrando il carico? Seleziona database diversi dal menu a discesa Database per trovare quelli con i carichi più elevati.

Filtra il carico del database

Puoi filtrare il carico del database in base alle query. Puoi personalizzare il grafico del carico del database per suddividere i dati visualizzati utilizzando una delle seguenti dimensioni:
  • Tutte le query

  • Database

Per personalizzare il grafico del carico del database, seleziona una dimensione dal menu a discesa Carico database per tempo di esecuzione.

Visualizza i principali fattori che contribuiscono al carico del database

Per visualizzare i principali fattori che contribuiscono al carico del database, puoi utilizzare la tabella Dimensioni massime per carico del database. La tabella Dimensioni principali per carico del database mostra i principali fattori che contribuiscono al periodo di tempo e alla dimensione selezionati nel menu a discesa del grafico Carico del database per tempo di esecuzione. Puoi modificare il periodo di tempo o la dimensione per visualizzare i principali fattori che contribuiscono a una dimensione o a un periodo di tempo diversi.

Nella tabella Dimensioni principali per carico di dati, puoi selezionare le seguenti schede.

Tab Descrizione
Query La tabella mostra le query normalizzate principali in base al tempo di esecuzione totale. Per ogni query, i dati mostrati nelle colonne sono elencati di seguito:
  • Tempo di esecuzione medio (ms): tempo medio di esecuzione della query.
    • L'elenco delle voci nella colonna Tempo di esecuzione medio (ms) potrebbe non essere esaustivo. Ad esempio, se una query eseguita da un utente specifico è la causa di un carico elevato del database e se questo comportamento non è rappresentativo del comportamento medio dell'utente, la voce per la query dell'utente potrebbe non essere inclusa.
  • Tempo totale di esecuzione (ms): il tempo totale di esecuzione impiegato dalla query specifica.
  • Media righe restituite: il numero medio di righe recuperate per la query.
  • Volte in cui è stato chiamato: il numero di volte in cui la query è stata chiamata dall'applicazione.
Database La tabella mostra l'elenco dei database principali che hanno contribuito al carico durante il periodo di tempo scelto in tutte le query eseguite.
  • Tempo medio trascorso nel database (ms): tempo medio trascorso dalle query nel database specifico.
  • Tempo totale trascorso nel database (ms): il tempo di esecuzione totale delle query nel database specifico.

Filtra per query

La tabella Dimensioni massime per carico del database fornisce una panoramica delle query che generano il carico di query più elevato. La tabella mostra tutte le query normalizzate per l'intervallo di tempo e le opzioni selezionate nella dashboard di Query Insights. Ordina le query in base al tempo di esecuzione totale nell'intervallo di tempo selezionato.

Per ordinare la tabella, seleziona un'intestazione di colonna.

La tabella mostra le seguenti proprietà:

  • Query: la stringa di query normalizzata. Per impostazione predefinita, Query Insights mostra solo 1024 caratteri nella stringa di query.
  • Database: il database su cui è stata eseguita la query.
  • Suggerimenti: i suggerimenti, ad esempio Crea indici, per migliorare le prestazioni delle query.
  • Tempo di esecuzione medio (ms): il tempo medio di esecuzione della query.
  • Tempo totale di esecuzione (ms): il tempo totale di esecuzione della query.
  • Volte in cui è stato chiamato: il numero di volte in cui l'applicazione ha chiamato la query.
  • Numero medio di righe restituite: il numero medio di righe restituite per la query.

Query Insights archivia e visualizza solo le query normalizzate.

Esamina le operazioni in un piano di query campionato

Un piano di query prende un campione della query e lo suddivide in singole operazioni. Spiega e analizza ogni operazione della query.

Il grafico Esempi di piani di query mostra tutti i piani di query in esecuzione in momenti particolari e il tempo impiegato da ciascun piano per l'esecuzione. Puoi modificare la frequenza con cui vengono acquisiti i campioni di piano di query al minuto. Consulta Abilita Query Insights.

Mostra un piano di query e una visualizzazione del tracciamento end-to-end.

Per impostazione predefinita, il riquadro a destra mostra i dettagli del piano di query di esempio che richiede più tempo, come visibile nel grafico Esempi di piani di query. Per visualizzare i dettagli di un altro piano di query di esempio, fai clic sul cerchio pertinente nel grafico. I dettagli espansi mostrano un modello di tutte le operazioni nel piano di query.

Ogni operazione mostra le righe restituite e, se disponibile, il costo dell'operazione. Utilizza la visualizzazione a schermo intero o la scheda End-to-end per visualizzare le statistiche di esecuzione stimate per ogni nodo (operazione), nonché le statistiche di esecuzione di runtime associate al nodo principale.

Mostra un piano di query utilizzando un albero di visualizzazione.

Prova a circoscrivere il problema esaminando le seguenti domande:

  1. Qual è il consumo di risorse?
  2. In che modo è correlata ad altre query?
  3. Il consumo cambia nel tempo?

Funzionalità dei dettagli della query

I dettagli della query possono fornire ulteriori informazioni su una query specifica, tra cui il tempo di esecuzione medio, il numero di chiamate e il numero medio di righe restituite. Può anche offrire suggerimenti, ad esempio indici, per contribuire a migliorare le prestazioni delle query.

I dettagli della query forniscono anche le seguenti metriche:

  • Esempi di piano di query: questi esempi consentono di comprendere e analizzare la query mediante una suddivisione delle diverse operazioni in una query di esempio.

    Mostra un piano di query e una visualizzazione del tracciamento end-to-end.

  • Numero di esecuzioni della query nel tempo: mostra il numero di volte in cui la query è stata completata in un periodo specificato. Il grafico ti aiuta a capire meglio quando viene eseguita di solito una query e può aiutarti a stimare l'impatto della query sulle prestazioni dell'istanza.

    Mostra il numero di volte in cui la query è stata eseguita in un periodo specificato.

  • Righe restituite in media nel tempo: mostra il numero medio di righe restituite dalla query nel tempo. Questi dati possono aiutarti a correlare le query più lente del solito con una maggiore quantità di dati restituiti da queste query.

    Mostra il numero medio di righe restituite dalla query nel tempo.

  • Statistiche I/O: mostra le statistiche di input e output per la query, inclusi i seguenti filtri:
    • Letture logiche medie
    • Letture fisiche medie
    • Scritture logiche medie

    Puoi utilizzare le metriche di I/O per correlare query più lente del solito con un utilizzo di I/O più intensivo o con modifiche ai pattern di I/O.

    Ad esempio, se il numero di letture logiche è aumentato, potrebbe essere un'indicazione che la query ha iniziato a leggere più dati del solito. Se il numero di letture fisiche è aumentato, potrebbe indicare che Cloud SQL ha iniziato a leggere più dati dal disco anziché dalla cache del buffer. Ad esempio, potrebbe non esserci memoria sufficiente per memorizzare nella cache tutti i dati o l'istanza ha iniziato a leggere troppi dati. Se il numero di scritture logiche è aumentato, ciò potrebbe indicare che la query ha iniziato a scrivere più dati sul disco dati.

    Questo è un esempio di come questa metrica potrebbe aiutare a misurare l'impatto della query sull'I/O dell'istanza.

    Mostra una rappresentazione delle statistiche di input e output per la query.

  • Statistiche memoria: mostra le statistiche sull'utilizzo della memoria utilizzata per la query, inclusi i seguenti filtri:
    • Memoria ideale media
    • Memoria riservata media
    • Memoria utilizzata media

    Questa metrica può aiutarti a rilevare le modifiche al consumo di memoria relative alla query, inclusi i seguenti esempi:

    • Utilizza questa metrica per rilevare quando Cloud SQL ha previsto in modo errato la quantità di memoria richiesta per l'esecuzione della query e potrebbe aver prenotato più memoria di quella utilizzata dalla query.
    • Utilizza questa metrica per rilevare quando Cloud SQL non è riuscito ad allocare memoria sufficiente e ha riservato una concessione di memoria inferiore. In questo caso, Cloud SQL utilizza il database tempdb, che è più lento rispetto all'utilizzo della memoria.
    • Utilizza la metrica insieme al numero di esecuzioni delle query per misurare l'impatto della query sul consumo di memoria dell'istanza.
    • Utilizza la metrica quando noti un utilizzo elevato della memoria utilizzata o una pressione della memoria.

    Mostra le statistiche sull'utilizzo della memoria per la query.

  • Statistiche su tempo di CPU e di esecuzione: mostra una visualizzazione combinata delle statistiche relative al tempo di CPU e al tempo di esecuzione per la query. Puoi utilizzare la metrica Tempo di CPU per esaminare l'utilizzo elevato della CPU nell'istanza, inclusi i seguenti esempi:
    • Puoi utilizzare una combinazione di metriche relative al tempo di CPU e al conteggio delle esecuzioni per misurare l'impatto della query sul consumo totale di CPU nell'istanza.
    • Puoi utilizzare una combinazione di metriche relative al tempo di CPU, al tempo di esecuzione e al parallelismo per misurare la percentuale di tempo in cui la query era in attesa di risorse.
    • Puoi utilizzare la metrica del tempo di esecuzione per rilevare quando una query ha impiegato più tempo del solito per l'esecuzione.

    Mostra una visualizzazione combinata delle statistiche relative al tempo di CPU e al tempo di esecuzione per la query.

  • Statistiche sulle query aggiuntive: mostra statistiche aggiuntive relative alla query, inclusi i seguenti filtri:
    • Statistiche di CLR (Common Language Runtime)
    • Statistiche columnstore
    • Spill della memoria
    • Statistiche sul parallelismo

    Mostra statistiche aggiuntive relative alla query, tra cui statistiche di CLR (Common Language Runtime), statistiche columnstore, spill della memoria e statistiche di parallelismo.

Query attive bloccate

Se una query attiva specifica è bloccata o viene eseguita per un tempo molto più lungo del previsto, può bloccare altre query dipendenti.

Cloud SQL ti offre la possibilità di terminare query attive specifiche, bloccate o con tempi di esecuzione lunghi.

Per saperne di più, consulta Query attive bloccate.

Disabilita Query Insights

Console

Per disabilitare Query Insights per un'istanza Cloud SQL utilizzando la console Google Cloud , segui questi passaggi:

  1. Nella console Google Cloud , vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Nel riquadro Configurazione, fai clic su Modifica configurazione.
  4. Nella sezione Opzioni di configurazione, espandi Query Insights.
  5. Deseleziona la casella di controllo Abilita Query Insights.
  6. Fai clic su Salva.

gcloud

Per disabilitare Query Insights per un'istanza Cloud SQL utilizzando gcloud, esegui gcloud sql instances patch con il flag --no-insights-config-query-insights-enabled come segue, dopo aver sostituito INSTANCE_ID con l'ID dell'istanza.

gcloud sql instances patch INSTANCE_ID \
  --no-insights-config-query-insights-enabled

REST

Per disabilitare Query Insights per un'istanza Cloud SQL utilizzando l'API REST, chiama il metodo instances.patch con queryInsightsEnabled impostato su false come segue.

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • project-id: l'ID progetto.
  • instance-id: l'ID istanza.

Metodo HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Corpo JSON della richiesta:

{
  "settings" : { "insightsConfig" : { "queryInsightsEnabled" : false } }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2021-01-28T22:43:40.009Z",
  "operationType": "UPDATE",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

Disabilita Query Insights per la versione Cloud SQL Enterprise Plus

Per disabilitare Query Insights per la versione Cloud SQL Enterprise Plus, segui questi passaggi:

  1. Nella console Google Cloud , vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Fai clic su Modifica.
  4. Nella sezione Personalizza la tua istanza, espandi Query Insights.
  5. Deseleziona la casella di controllo Abilita le funzionalità di Enterprise Plus.
  6. Fai clic su Salva.

Passaggi successivi