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 ti aiutano a identificare la causa principale dei problemi di prestazioni.

Con gli approfondimenti sulle query, puoi monitorare il rendimento a livello di applicazione e tracciare l'origine di una query problematica nello stack di applicazioni per modello, visualizzazione, controller, route, utente e host. Lo strumento Query Insights può essere integrato con i tuoi servizi e strumenti di monitoraggio delle applicazioni (APM) esistenti Google Cloud utilizzando API e standard aperti. In questo modo, puoi monitorare e risolvere i problemi delle query utilizzando il tuo strumento preferito.

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

Approfondimenti sulle query per la versione Cloud SQL Enterprise Plus

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

  • Acquisire e analizzare gli eventi di attesa per tutte le query eseguite.
  • Filtra il carico del database aggregato in base a dimensioni aggiuntive come query, tag, tipi di eventi di attesa e altro ancora.
  • Acquisire i piani di query per tutte le query eseguite.
  • Esegui il campionamento di un massimo di 200 piani di query al minuto.
  • Acquisizione di query di testo più lunghe fino a 1 MB.
  • Ottieni aggiornamenti quasi in tempo reale per le metriche (nell'ordine dei secondi).
  • Mantenere una conservazione più lunga delle metriche, pari a 30 giorni.
  • Ottieni consigli sull'indicizzazione da Index Advisor.
  • Termina una sessione o una transazione a esecuzione prolungata nelle query attive.
  • Accedere alla risoluzione dei problemi assistita dall'AI (anteprima).

La seguente tabella confronta i requisiti funzionali e le funzionalità di Query Insights per Cloud SQL Enterprise con Query Insights per Cloud SQL Enterprise Plus.

Area di confronto Query Insights per la versione Cloud SQL Enterprise Approfondimenti sulle query per la versione Cloud SQL Enterprise Plus
Versioni del database supportate MySQL 5.7 o versioni successive MySQL 8.0 o versioni successive
Tipi di macchine supportati Supportato su tutti i tipi di macchine Non supportato sulle 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 1 MB
Massimo di campioni del piano di query 20 200
Analisi evento di attesa Non disponibile Disponibile
Consigli dell'Index Advisor Non disponibile Disponibile
Terminare sessioni o transazioni di lunga durata nelle query attive Non disponibile Disponibile
Risoluzione dei problemi con l'aiuto dell'AI (anteprima) Non disponibile Disponibile

Abilita Query Insights per la versione Cloud SQL Enterprise Plus

Per attivare Query Insights per la versione Cloud SQL Enterprise Plus, seleziona Abilita funzionalità Enterprise Plus quando attivi Query Insights nell'istanza Cloud SQL Enterprise Plus.

Prezzi

Non sono previsti costi aggiuntivi per Query Insights nelle istanze Cloud SQL Enterprise o Cloud SQL Enterprise Plus.

Requisiti di archiviazione

Query Insights per Cloud SQL Enterprise Edition non occupa spazio di archiviazione nello spazio di archiviazione dell'istanza Cloud SQL. Le metriche vengono archiviate in Cloud Monitoring. Per le richieste API, consulta i prezzi di Cloud Monitoring. Cloud Monitoring ha un livello che puoi utilizzare senza costi aggiuntivi.

Query Insights per Cloud SQL Enterprise Plus Edition memorizza i dati delle metriche sullo stesso disco collegato all'istanza Cloud SQL e richiede di mantenere abilitata l'impostazione degli aumenti automatici dello spazio di archiviazione.

Il requisito di spazio di archiviazione per sette giorni di dati è di circa 45 GB. Per 30 giorni, hai bisogno di circa 180 GB. Query Insights per la versione Cloud SQL Enterprise Plus utilizza fino a 130 MB di RAM. Le metriche dovrebbero essere disponibili negli approfondimenti sulle query entro un minuto dal completamento della query. Si applicano le tariffe di archiviazione vigenti.

Limitazioni dello spazio di archiviazione delle metriche

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

  • Se la tua istanza è sottoposta a un carico di sistema elevato, quando esegui query sui dati delle metriche nel dashboard Approfondimenti sulle query, il caricamento delle query potrebbe essere lento o potrebbe verificarsi un timeout.
  • Se ricrei una replica di lettura, questa non mantiene la cronologia delle metriche precedenti.
  • Se ripristini un'istanza con un backup precedente, puoi perdere le metriche tra il momento del backup e il momento in cui ripristini l'istanza per Query Insights per Cloud SQL Enterprise Plus. 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 gli approfondimenti sulle query, segui questi passaggi.

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

Ruoli e autorizzazioni richiesti

Per utilizzare Query Insights, devi concedere un ruolo predefinito, creare un ruolo personalizzato o fornire un account utente con le autorizzazioni Identity and Access Management richieste.

Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestire l'accesso.

Per ottenere le autorizzazioni necessarie per accedere ai dati storici di esecuzione delle query nel dashboard 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.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per accedere ai dati storici di esecuzione delle query nella dashboard Query Insights. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per accedere ai dati storici di esecuzione delle query nella dashboard Query Insights sono necessarie le seguenti autorizzazioni:

  • databaseinsights.aggregatedStats.query
  • databaseinsights.timeSeries.query

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Ad esempio, in Database Insights, puoi chiedere all'amministratore di concederti il ruolo predefinito Visualizzatore Database Insights (roles/databaseinsights.viewer). Poi, in Cloud SQL, puoi chiedere all'amministratore di concederti uno dei seguenti ruoli predefiniti:

Abilita l'Cloud Trace API

Per visualizzare i piani di query e le relative visualizzazioni end-to-end, l'Cloud Trace API deve essere abilitata nel tuo progetto Google Cloud . 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 nella tua istanza.

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

  1. Nella Google Cloud console, 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, significa che questa API è abilitata e non devi fare altro. In caso contrario, 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 disattivato questa impostazione dell'istanza e vuoi abilitare Query Insights per la versione Cloud SQL Enterprise Plus, riattiva prima 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 gli approfondimenti sulle query, tutte le altre operazioni vengono temporaneamente sospese. Queste operazioni includono controlli di integrità, logging, monitoraggio e altre operazioni sulle istanze.

Console

Abilitare 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 Approfondimenti sulle query.
  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 Versione Cloud SQL Enterprise Versione Enterprise Plus di Cloud SQL
    Abilitare le funzionalità di Enterprise Plus Seleziona questa casella di controllo per attivare Query Insights per la versione Cloud SQL Enterprise Plus. Query Insights per Cloud SQL Enterprise Plus ti consente di terminare sessioni e transazioni a esecuzione prolungata nelle query attive, attiva 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 basata sull'AI (anteprima). Non disponibile Disponibile

    Predefinito: disattivato
    Risoluzione dei problemi assistita dall'AI Seleziona questa casella di controllo per attivare il rilevamento delle anomalie di prestazioni, l'analisi della causa principale e della situazione e per ottenere consigli per risolvere i problemi relativi alle query e al database. Questa funzionalità è in anteprima e puoi attivarla e accedervi solo utilizzando la console Google Cloud . Per maggiori informazioni, vedi Osservare e risolvere i problemi con l'assistenza dell'AI. Non disponibile Disponibile

    Predefinito: disattivato
    Archivia gli indirizzi IP dei clienti Seleziona questa casella di controllo per attivare l'archiviazione degli indirizzi IP client. Cloud SQL può archiviare gli indirizzi IP da cui provengono le query e consentirti di raggruppare i dati per eseguire metriche. Le query provengono da più di un host. L'esame dei grafici per le query provenienti dagli indirizzi IP client può aiutarti a identificare l'origine di un problema. Disponibile

    Predefinito: disattivato
    Disponibile

    Predefinito: disattivato
    Archivia i tag delle applicazioni Seleziona questa casella di controllo per attivare l'archiviazione dei tag delle applicazioni. L'archiviazione dei tag delle applicazioni ti aiuta a determinare le API e le route modello-visualizzazione-controller (MVC) che effettuano le richieste e a raggruppare i dati per generare le metriche corrispondenti. Questa opzione richiede di commentare le query con un insieme specifico di tag utilizzando la libreria di strumentazione automatica di mapping relazionale a oggetti (ORM) open source sqlcommenter. Queste informazioni aiutano Query Insights a identificare l'origine di un problema e l'MVC da cui proviene il problema. I percorsi delle applicazioni ti aiutano con il monitoraggio delle applicazioni. Disponibile

    Predefinito: disabilitato
    Disponibile

    Predefinito: disabilitato
    Personalizzare la lunghezza delle query Seleziona questa casella di controllo per personalizzare il limite per la lunghezza di una stringa di query. Le query più lunghe 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.

    La modifica del limite di lunghezza delle query richiede il riavvio dell'istanza. Puoi comunque aggiungere tag alle query che superano il limite di lunghezza.
    Puoi impostare il limite in byte da 256 byte a 4500 byte.

    Predefinito: 1024.
    Puoi specificare un limite in byte da 1 a 1048576.

    Predefinito: 1024 byte (1 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 esempi di piano di query eseguiti acquisiti al minuto in 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 disabilitare il campionamento, imposta il valore su 0. Modifica questo valore scegliendo un numero compreso tra 0 e 20.

    Predefinito: 5.
    Puoi aumentare il valore massimo a 200 per fornire più punti dati.

    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 attivare 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, le raccomandazioni di Index Advisor vengono abilitate automaticamente.

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

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

  • --insights-config-record-client-address

    Archivia gli indirizzi IP client da cui provengono le query e ti aiuta a raggruppare i dati per eseguire metriche. Le query provengono da più di un host. L'esame dei grafici per le query provenienti dagli indirizzi IP client può aiutarti a identificare l'origine di un problema.

  • --insights-config-record-application-tags

    Archivia i tag delle applicazioni che ti aiutano a determinare le API e le route modello-visualizzazione-controller (MVC) che effettuano le richieste e raggruppa i dati per generare le metriche corrispondenti. Questa opzione richiede di commentare le query con un insieme specifico di tag. Puoi farlo utilizzando la libreria di strumentazione automatica sqlcommenter open source di mappatura relazionale degli oggetti (ORM). Queste informazioni aiutano Query Insights a identificare l'origine di un problema e l'MVC da cui proviene. I percorsi delle applicazioni ti aiutano con il monitoraggio delle applicazioni.

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

    Imposta il limite di lunghezza predefinito della query. Le query più lunghe sono più utili per le query analitiche, ma richiedono anche più memoria. La modifica della lunghezza della query richiede il riavvio dell'istanza. Puoi comunque aggiungere tag alle query che superano il limite di lunghezza. Per Cloud SQL Enterprise, puoi specificare un valore in byte compreso tra 256 e 4500. La lunghezza predefinita delle query è di 1024 byte. Per la versione Cloud SQL Enterprise Plus, puoi specificare un limite in byte da 1 a 1048576. Il valore predefinito è 1024 byte (1 KB).

  • --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 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 \
--query_plans_per_minute=QUERY_PLANS_PER_MINUTE \
--insights-config-record-application-tags \
--insights-config-record-client-address \
--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, le raccomandazioni di Index Advisor vengono abilitate automaticamente.

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

  • 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,
       "recordClientAddress" : true,
       "recordApplicationTags" : 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, le raccomandazioni di Index Advisor vengono abilitate automaticamente.

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

  • query_string_length: per Cloud SQL Enterprise, puoi specificare un valore in byte da 256 a 4500. La lunghezza predefinita delle query è di 1024 byte. Per la versione Cloud SQL Enterprise Plus, puoi specificare un limite in byte da 1 a 1048576. Il valore predefinito è 1024 byte (1 KB).
  • record_application_tags: imposta il valore su true se vuoi registrare i tag applicazione dalla query.
  • record_client_address: imposta il valore su true se vuoi registrare l'indirizzo IP del client. Il valore predefinito è false.
  • query_plans_per_minute: per 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:

  resource "google_sql_database_instance" "INSTANCE_NAME" {
  name                = "INSTANCE_NAME"
  database_version    = "MYSQL_VERSION"
  region              = "REGION"
  root_password       = "PASSWORD"
  deletion_protection = false # set to true to prevent destruction of the resource
  settings {
    tier = "DB_TIER"
    insights_config {
      query_insights_enabled  = true
      query_string_length     = 2048 # Optional
      record_application_tags = true # Optional
      record_client_address   = true # Optional
      query_plans_per_minute  = 10 # Optional
    }
  }
  }
  

Per applicare la configurazione di Terraform in un progetto Google Cloud , completa i passaggi 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 di Terraform deve avere la propria directory (chiamata anche modulo radice).

  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 viene 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.

    (Facoltativo) Copia il codice da GitHub. Questa operazione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.

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

    (Facoltativo) Per utilizzare l'ultima versione del provider Google, includi l'opzione -upgrade:

    terraform init -upgrade

Applica le modifiche

  1. Rivedi 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 di Terraform eseguendo il comando seguente e inserendo yes al prompt:
    terraform apply

    Attendi che Terraform visualizzi il messaggio "Apply complete!" (Applicazione completata).

  3. Apri il tuo Google Cloud progetto 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 Approfondimenti sulle query pochi minuti dopo il completamento della query. Esamina le norme di conservazione dei dati di Cloud Monitoring.

Le tracce di Query Insights vengono archiviate in Cloud Trace. Esamina le norme di conservazione dei dati di Cloud Trace.

Visualizzare la dashboard Query Insights

La dashboard Approfondimenti sulle query 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 Approfondimenti sulle query:

  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 oppure fai clic su Accedi a Query Insights per informazioni più approfondite su query e prestazioni nella pagina Panoramica istanza.
  3. Si apre la dashboard Approfondimenti sulle query. A seconda che tu stia utilizzando Query Insights per Cloud SQL Enterprise o Query Insights per Cloud SQL Enterprise Plus, la dashboard Query Insights mostra le seguenti informazioni sulla tua istanza:

Versione Enterprise Plus di Cloud SQL

Mostra la dashboard Query Insights per la versione Enterprise Plus
          con menu per filtrare per database, utente e indirizzo client.
          Puoi anche filtrare in base all'intervallo di tempo di 1 ora, 6 ore, 1 giorno, 30 giorni o selezionare un intervallo di tempo personalizzato. Questo grafico mostra il
          carico del database per tempo di esecuzione in millisecondi
          per tutte le query in un periodo di un'ora.
  • Tutte le query: mostra il carico del database per tutte le query per l'intervallo di tempo selezionato. Ogni query è codificata individualmente con un colore. Per visualizzare un punto nel tempo per una query specifica, tieni il puntatore sopra il grafico della query.
  • Database: filtra il carico delle query su un database specifico o su tutti i database.
  • Utente: filtra il caricamento delle query da un account utente specifico.
  • Indirizzo client: filtra il carico delle query da un indirizzo IP specifico.
  • Intervallo temporale: filtra il carico delle query in base a intervalli temporali, ad esempio 1 ora, 6 ore, 1 giorno, 7 giorni, 30 giorni o un intervallo personalizzato.
  • Tipi di eventi di attesa: filtra il carico delle query in base ai tipi di eventi di attesa CPU e blocco.
  • Query, Tipi di eventi di attesa, Database, Utenti, Tag e Indirizzi client: ordina in base alle dimensioni principali che contribuiscono maggiormente al carico del database nel grafico. Vedi Filtrare il carico del database.

Versione Cloud SQL Enterprise

Mostra la dashboard Query Insights, con menu a discesa
         per database, utenti e indirizzi. A destra dei menu a discesa, è presente un filtro per impostare un intervallo di tempo. Inoltre,
         un grafico mostra il carico del database per le query principali. Nella parte inferiore
         del grafico, sono presenti caselle di selezione per capacità CPU, CPU e
         attesa CPU, attesa I/O e attesa blocco, nonché una scheda per le query e una per i tag.
  • Database: filtra il carico delle query su un database specifico o su tutti i database.
  • Utente: filtra il caricamento delle query da un account utente specifico.
  • Indirizzo client: filtra il carico delle query da un indirizzo IP specifico.
  • Intervallo temporale: filtra il carico delle query in base a intervalli temporali, ad esempio 1 ora, 6 ore, 1 giorno, 7 giorni, 30 giorni o un intervallo personalizzato.
  • Grafico del carico del database: mostra il grafico del carico delle query in base ai dati filtrati.
  • Capacità CPU, CPU e attesa CPU, attesa I/O e attesa blocco: Filtra i carichi in base alle opzioni selezionate. Consulta Visualizzare il carico del database per le query principali per informazioni dettagliate su ciascuno di questi filtri.
  • Query e Tag: filtra il carico delle query in base a una query selezionata o a un tag di query SQL selezionato. Vedi Filtrare 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 eseguono nel tempo. Ogni query in esecuzione utilizza o attende 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 dato intervallo e le ore effettive.

La dashboard degli approfondimenti sulle query di primo livello mostra il grafico Carico database - tutte le query principali. I menu a discesa nella dashboard ti consentono di filtrare il grafico per un database, un utente o un indirizzo client specifico.

Versione Enterprise Plus di Cloud SQL

Mostra il grafico del carico del database con un carico per capacità CPU, CPU e
         attesa CPU, attesa I/O e attesa blocco.

Versione Cloud SQL Enterprise

Mostra il grafico del carico del database con un carico per capacità CPU, CPU e
         attesa CPU, attesa I/O e attesa blocco.

Le linee colorate nel grafico mostrano il carico delle query, suddiviso in categorie:

  • Capacità CPU: il numero di CPU disponibili sull'istanza.
  • CPU e attesa CPU: il rapporto tra il tempo impiegato dalle query in uno stato attivo e le ore effettive. Le attese di I/O e blocchi non bloccano le query in uno stato attivo. Questa metrica potrebbe significare che la query sta utilizzando la CPU o è in attesa che lo scheduler Linux pianifichi il processo del server che esegue la query mentre altri processi utilizzano la CPU.
  • Attesa I/O: il rapporto tra il tempo impiegato dalle query in attesa di I/O e le ore effettive. L'attesa I/O include attesa di lettura I/O e attesa di scrittura I/O. Se vuoi una suddivisione delle informazioni per le attese I/O, puoi visualizzarla in Cloud Monitoring. Per ulteriori informazioni, consulta le metriche di Cloud SQL.
  • Attesa blocco: il rapporto tra il tempo impiegato dalle query in attesa di blocchi e le ore effettive. Include le attese per blocchi di tipo Lock, LwLock e BufferPin Lock. Per visualizzare una suddivisione delle informazioni sulle attese di blocco, utilizza Cloud Monitoring. Per ulteriori informazioni, consulta le metriche di Cloud SQL.

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 rispondere a queste domande:

  • Il carico delle query è elevato? Il grafico mostra picchi o valori elevati nel tempo? Se non noti un carico elevato, il problema non riguarda la query.
  • Da quanto tempo il carico è elevato? È alta solo ora o lo è da molto tempo? Utilizza il selettore dell'intervallo per selezionare vari periodi di tempo per 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.
  • Qual è la causa del carico elevato? Puoi selezionare le opzioni per esaminare la capacità della CPU, l'attesa CPU e CPU, l'attesa di blocco o l'attesa IO. Il grafico per ciascuna di queste opzioni ha un colore diverso, in modo da poter individuare quella con il carico più elevato. La linea blu scuro sul grafico mostra la capacità massima della CPU del sistema. Consente di confrontare il carico delle query con la capacità massima della CPU del sistema. Questo confronto ti aiuta a determinare se un'istanza sta esaurendo le risorse CPU.
  • Quale database sta riscontrando il carico? Seleziona database diversi dal menu a discesa Database per trovare quelli con i carichi più elevati.
  • Utenti o indirizzi IP specifici causano carichi più elevati? Seleziona utenti e indirizzi diversi dai menu a discesa per identificare quelli che causano carichi più elevati.

Filtrare il carico del database

Puoi filtrare il carico del database in base alle query o ai tag. Se utilizzi Query Insights per Cloud SQL Enterprise Plus, puoi personalizzare il grafico del carico del database per analizzare i dati visualizzati utilizzando una delle seguenti dimensioni:

  • Tutte le query

  • Tipi di eventi di attesa

  • Database

  • Utenti

  • Tag

  • Indirizzi client

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 contributori al carico del database, puoi utilizzare la tabella Dimensioni principali per carico del database. La tabella Dimensioni principali per carico del database mostra i principali contributori per il periodo di tempo e la 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 autori per una dimensione o un periodo di tempo diverso.

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 come segue:
  • Tempo di esecuzione medio (ms): tempo medio di esecuzione della query.
  • 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.
  • Chiamate: il numero di volte in cui la query è stata chiamata dall'applicazione.
  • %di carico per SELECTED_DIMENSION: il grafico a linee percentuale mostra la distribuzione della dimensione selezionata per la query specifica.
Tipi di eventi di attesa La tabella mostra l'elenco dei tipi di eventi di attesa principali che si sono verificati durante il periodo di tempo selezionato. Questa tabella è disponibile solo per Query Insights per la versione Cloud SQL Enterprise Plus.
  • Tempo medio di attesa (ms): tempo medio trascorso dalle query nel tipo di evento di attesa specifico.
  • Tempo totale di attesa (ms): il tempo totale di esecuzione delle query trascorso nel tipo di evento di attesa specifico.
  • Conteggio dei tipi di eventi di attesa: il numero di volte in cui si è verificato un tipo di evento di attesa specifico nel periodo di tempo selezionato.
  • %di carico per SELECTED_DIMENSION: il grafico a linee percentuale mostra la distribuzione della dimensione selezionata per il grafico del carico del database per il tipo di evento di attesa specifico.
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 totale di esecuzione delle query nel database specifico.
  • %di carico per SELECTED_DIMENSION: il grafico a linee mostra la distribuzione della dimensione selezionata per il grafico del carico del database nel database specifico.
Utenti La tabella mostra l'elenco degli utenti principali per il periodo di tempo selezionato in tutte le query eseguite.
  • Tempo medio trascorso nell'utente (ms): tempo medio trascorso dalle query sull'utente specifico.
  • Tempo totale trascorso nell'utente (ms): il tempo totale di esecuzione delle query trascorso nell'utente specifico.
  • %di carico per SELECTED_DIMENSION: il grafico a linee percentuale mostra come la dimensione selezionata per il grafico del carico del database è distribuita tra l'utente specifico.
Tag Per informazioni sui tag, Filtra per tag query.
Indirizzi client La tabella mostra l'elenco degli utenti principali per il periodo di tempo selezionato in tutte le query eseguite.
  • Tempo totale trascorso nell'indirizzo client (ms): il tempo di esecuzione totale delle query per un client specifico.
  • %di carico per SELECTED_DIMENSION: il grafico a linee percentuale mostra come la dimensione selezionata per il grafico del carico del database è distribuita nel client specifico.

Filtra per query

La tabella Query principali fornisce una panoramica delle query che causano il carico maggiore. La tabella mostra tutte le query normalizzate per l'intervallo di tempo e le opzioni selezionate nella dashboard Approfondimenti sulle query. Ordina le query in base al tempo di esecuzione totale durante l'intervallo di tempo selezionato.

Versione Enterprise Plus di Cloud SQL

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

Mostra il grafico del carico del database con un carico per le query, con
         i filtri selezionati per capacità CPU, CPU e
         attesa CPU, attesa I/O e attesa blocco.

Versione Cloud SQL Enterprise

Per ordinare la tabella, seleziona un'intestazione di colonna o una proprietà da Filtra query.

Mostra il grafico del carico del database con un carico per le query, con
         i filtri selezionati per capacità CPU, CPU e
         attesa CPU, attesa I/O e attesa blocco.

La tabella mostra le seguenti proprietà:

  • Query: la stringa di query normalizzata. Per impostazione predefinita, gli approfondimenti sulle query mostrano solo 1024 caratteri nella stringa di query. Le query etichettate UTILITY COMMAND in genere includono comandi BEGIN, COMMIT e EXPLAIN o comandi wrapper.
  • Database: il database su cui è stata eseguita la query.
  • Suggerimenti: i suggerimenti proposti, ad esempio Crea indici, per migliorare le prestazioni delle query.
  • Carico per tempo totale/Carico per CPU/Carico per attesa IO/Carico per attesa blocco: Le opzioni in base alle quali puoi filtrare query specifiche per trovare il carico più grande.
  • % di carico per query: La percentuale di carico per singola query.
  • Analizza la latenza: se hai attivato la risoluzione dei problemi con l'AI (anteprima) per questa istanza, puoi fare clic su questo link per risolvere i problemi relativi alle query lente.
  • Tempo di esecuzione medio (ms): il tempo medio di esecuzione della query.
  • Chiamate: il numero di volte in cui l'applicazione ha chiamato la query.
  • Media righe restituite: il numero medio di righe restituite per la query.
  • Media righe scansionate: il numero medio di righe scansionate per la query.

Approfondimenti sulle query memorizza e mostra solo le query normalizzate.

Per impostazione predefinita, Query Insights non raccoglie indirizzi IP o informazioni sui tag. Puoi attivare gli approfondimenti sulle query per raccogliere queste informazioni e, se necessario, disattivare la raccolta.

Le tracce del piano di query non raccolgono né archiviano valori costanti e rimuovono qualsiasi informazione PII che la costante potrebbe mostrare.

Query Insights mostra le query normalizzate, ovvero ? sostituisce il valore costante letterale. Nell'esempio seguente, la costante nome viene rimossa e sostituita da ?.

  UPDATE
    "demo_customer"
  SET
    "customer_id" = ?::uuid,
    "name" = ?,
    "address" = ?,
    "rating" = ?,
    "balance" = ?,
    "current_city" = ?,
    "current_location" = ?
  WHERE
    "demo_customer"."id" = ?
  

Filtra per tag query

Per risolvere i problemi relativi a un'applicazione, devi prima aggiungere tag alle query SQL. I tag di carico delle query forniscono una suddivisione del carico delle query del tag selezionato nel tempo.

Query Insights fornisce un monitoraggio incentrato sulle applicazioni per diagnosticare i problemi di prestazioni delle applicazioni create utilizzando ORM. Se sei responsabile dell'intero stack di applicazioni, Query Insights fornisce il monitoraggio delle query da una visualizzazione dell'applicazione. Il tagging delle query ti aiuta a trovare problemi in costrutti di livello superiore, ad esempio con la logica di business o un microservizio.

Puoi taggare le query in base alla logica di business, ad esempio i tag pagamento, inventario, analisi aziendale o spedizione. Puoi quindi trovare il carico di query creato dalle varie logiche di business. Ad esempio, potresti osservare eventi imprevisti, come picchi per un tag di analisi aziendale alle 13:00 o una crescita inattesa per un servizio di pagamento di tendenza rispetto alla settimana precedente.

Per calcolare il carico del database per il tag, Query Insights utilizza la quantità di tempo impiegato da ogni query che utilizza il tag selezionato. Lo strumento calcola il tempo di completamento al minuto utilizzando l'ora solare.

Nella dashboard degli approfondimenti sulle query, seleziona Tag per visualizzare la tabella dei tag. La tabella ordina i tag in base al carico totale per tempo totale.

Mostra la dashboard Query Insights, con il carico per i tag e un elenco di tag.

Puoi ordinare la tabella selezionando una proprietà da Tag filtro o facendo clic su un'intestazione di colonna. La tabella mostra le seguenti proprietà:

  • Azione, Controller, Framework, Route, Applicazione, Driver DB: ogni proprietà che hai aggiunto alle query viene visualizzata come colonna. Se vuoi filtrare in base ai tag, devi aggiungere almeno una di queste proprietà.
  • Carico per tempo totale/Carico per CPU/Carico per attesa IO/Carico per attesa blocco: opzioni per filtrare query specifiche per trovare il carico più elevato per ogni opzione.
  • Tempo di esecuzione medio (ms): il tempo medio di esecuzione della query.
  • Media righe restituite: il numero medio di righe restituite per la query.
  • Media righe scansionate: il numero medio di righe scansionate per la query.
  • Chiamate: il numero di volte in cui l'applicazione ha chiamato la query.
  • Database: il database su cui è stata eseguita la query.

Visualizzare i dettagli della query per una query o un tag specifico

Per determinare se una query o un tag specifico è la causa principale del problema, procedi nel seguente modo dalla scheda Query o Tag, rispettivamente:

  1. Per ordinare l'elenco in ordine decrescente, fai clic sull'intestazione Carico per tempo totale.
  2. Fai clic sulla query o sul tag in cima all'elenco. Ha il carico più elevato e richiede più tempo rispetto agli altri.

Si apre la pagina Dettagli query, che mostra i dettagli della query o del tag selezionato.

Esaminare il carico di una query specifica

La pagina Dettagli query per una query selezionata viene visualizzata nel seguente modo:

Mostra i grafici del carico e della latenza del database per una
         query specifica.

Il grafico Carico del database - Query specifica mostra una misura del lavoro (in secondi CPU) che la query normalizzata ha eseguito nella query selezionata nel tempo. Per calcolare il carico, utilizza il tempo impiegato dalle query normalizzate completate al limite del minuto rispetto al tempo effettivo. Nella parte superiore della tabella vengono visualizzati i primi 1024 caratteri della query normalizzata, con i valori letterali rimossi per motivi di aggregazione e PII.

Mostra il grafico del carico del database con un carico per una query specifica, con
         filtri selezionati per capacità CPU, CPU e attesa CPU, attesa I/O e attesa
         blocco.

Come per il grafico delle query totali, puoi filtrare il carico per una query specifica in base a Database, Utente e Indirizzo client. Il carico delle query è suddiviso in Capacità CPU, CPU e attesa CPU, Attesa I/O e Attesa blocco.

Esaminare il carico di una query specifica con tag

La dashboard per un tag selezionato viene visualizzata come segue. Ad esempio, se tutte le query di un pagamento di microservizi sono taggate come payment, puoi vedere la quantità di carico di query che è di tendenza visualizzando il tag payment.

Mostra i grafici del carico del database e della latenza nella pagina per un tag specifico.

Il grafico Carico del database - Tag specifici mostra una misura del lavoro (in secondi CPU) che le query corrispondenti ai tag selezionati hanno eseguito nel corso del tempo all'interno del database selezionato. Come per il grafico delle query totali, puoi filtrare il carico per un tag specifico in base a Database, Utente e Indirizzo client.

Esaminare 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 nella query.

MySQL 5.7 fornisce un piano di query stimato con la visualizzazione EXPLAIN, mentre MySQL 8.0 e versioni successive forniscono un piano di query eseguito con la visualizzazione EXPLAIN ANALYZE. Un piano di query stimato fornisce il tempo di esecuzione stimato di una query, mentre un piano di query eseguito fornisce informazioni in tempo reale su ogni passaggio di esecuzione di una determinata query.

I piani di query in MySQL 5.7 sono supportati per le seguenti query supportate dall'istruzione EXPLAIN:

  • Per le singole tabelle: INSERT, SELECT, UPDATE e DELETE.
  • Per più tabelle: SELECT, UPDATE e DELETE.

Puoi generare piani di query in MySQL 8.0 e versioni successive per tutte le query supportate da EXPLAIN ANALYZE. Questo strumento mostra dove MySQL impiega tempo per le query SELECT per singole tabelle e più tabelle. Cloud SQL non supporta la generazione di piani di query DML (Data Manipulation Language) multitable perché queste query non sono supportate da EXPLAIN ANALYZE.

Il piano di query di esempio fornisce una visualizzazione EXPLAIN ANALYZE per gli esempi di piani di query correlati alla query normalizzata. Questi sono piani di query eseguiti che forniscono una suddivisione del tempo attivo impiegato da ogni operazione nel piano di query.

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

Un grafico per i piani di query di esempio, con l'ora in cui
         sono stati eseguiti nella parte inferiore del grafico (asse X) e il numero di secondi
         in cui sono stati eseguiti a destra (asse Y).

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 la latenza, le righe restituite e il costo dell'operazione. Quando selezioni un'operazione, puoi visualizzare ulteriori dettagli, ad esempio i blocchi di battute condivise, il tipo di schema, i loop e le righe del piano.

Il piano di query mostra la latenza e il costo di ogni operazione
         eseguita per la query.

Prova a restringere il campo del problema rispondendo alle seguenti domande:

  1. Qual è il consumo di risorse?
  2. Qual è la sua relazione con altre query?
  3. Il consumo cambia nel tempo?

Esamina una traccia generata da una query di esempio

Oltre a visualizzare il piano di query di esempio, puoi utilizzare Query Insights per visualizzare una traccia end-to-end dell'applicazione in contesto per una query di esempio. Questa traccia può aiutarti a identificare l'origine di una query problematica visualizzando l'attività del database per una richiesta specifica. Inoltre, le voci di log che l'applicazione invia a Cloud Logging durante la richiesta sono collegate alla traccia, il che ti aiuta nelle indagini.

Per visualizzare la traccia nel contesto:

  1. Nella schermata Query di esempio, fai clic sulla scheda Traccia end-to-end. Questa scheda mostra un grafico di Gantt che descrive in dettaglio gli intervalli, ovvero i record delle singole operazioni, per la traccia generata dalla query.
  2. Per visualizzare maggiori dettagli su ciascun intervallo, come attributi e metadati, selezionalo.

Puoi visualizzare la traccia anche nella pagina Esplora tracce. Per farlo, fai clic su Visualizza in Cloud Trace. Per informazioni dettagliate su come utilizzare la pagina Esplora tracce per esplorare i dati di traccia, consulta Trovare ed esplorare le tracce.

Esamina la latenza

La latenza è il tempo impiegato per il completamento della query normalizzata, in ore effettive. Utilizza il grafico Latenza per esaminare la latenza della query o del tag. La dashboard della latenza mostra le latenze del 50°, 95° e 99° percentile per trovare comportamenti anomali.

L'immagine seguente mostra il grafico del carico del database al 50° percentile per una query specifica con filtri selezionati per capacità CPU, attesa CPU e CPU, attesa I/O e attesa blocco.

Mostra il grafico della latenza delle query per una query specifica
         con filtri selezionati per capacità CPU, CPU e attesa CPU,
         attesa I/O e attesa blocco.

La latenza delle query parallele viene misurata in tempo reale, anche se il carico della query può essere superiore per la query a causa dell'utilizzo di più core per l'esecuzione di una parte della query.

Prova a restringere il campo del problema rispondendo alle seguenti domande:

  • Qual è la causa del carico elevato? Seleziona le opzioni per esaminare la capacità della CPU, la CPU e l'attesa CPU, l'attesa I/O o l'attesa blocco.
  • Da quanto tempo il carico è elevato? È solo alta ora? O è rimasto alto per molto tempo? Modifica l'intervallo di tempo per trovare la data e l'ora in cui il caricamento ha iniziato a registrare un rendimento scarso.
  • Si sono verificati picchi di latenza? Modifica la finestra temporale per studiare la latenza storica della query normalizzata.

Aggiungere tag alle query SQL

Il tagging delle query SQL semplifica la risoluzione dei problemi delle applicazioni. Puoi utilizzare sqlcommenter per aggiungere tag alle query SQL automaticamente o manualmente.

Utilizzare sqlcommenter con ORM

Quando utilizzi ORM anziché scrivere direttamente query SQL, potresti non trovare codice dell'applicazione che causa problemi di prestazioni. Potresti anche avere difficoltà ad analizzare in che modo il codice dell'applicazione influisce sulle prestazioni delle query. Per risolvere questo problema, Query Insights fornisce una libreria open source chiamata sqlcommenter. Questa libreria è utile per sviluppatori e amministratori che utilizzano strumenti ORM per rilevare quale codice dell'applicazione causa problemi di prestazioni.

Se utilizzi ORM e sqlcommenter insieme, i tag vengono creati automaticamente. Non è necessario aggiungere o modificare il codice nell'applicazione.

Puoi installare sqlcommenter sul server delle applicazioni. La libreria di strumentazione consente di propagare al database le informazioni sull'applicazione relative al framework MVC insieme alle query come commento SQL. Il database rileva questi tag e inizia a registrare e aggregare le statistiche per tag, che sono ortogonali alle statistiche aggregate per query normalizzate. Query Insights mostra i tag in modo che tu sappia quale applicazione sta causando il carico di query e possa trovare il codice dell'applicazione che sta causando problemi di prestazioni.

Quando esamini i risultati nei log del database SQL, vengono visualizzati nel seguente modo:

    SELECT * from USERS /action='run+this',
    controller='foo%3',
    traceparent='00-01',
    tracestate='rojo%2'/
  

I tag supportati includono il nome del controller, la route, il framework e l'azione.

Il set di strumenti ORM in sqlcommenter è supportato per i seguenti linguaggi di programmazione:

Python
  • Django
  • psycopg2
  • Sqlalchemy
  • Flask
Java
  • Hibernate
  • Spring
Ruby
  • Rails
Node.js
  • Knex.js
  • Sequelize.js
  • Express.js
PHP
  • Laravel

Per ulteriori informazioni su sqlcommenter e su come utilizzarlo nel framework ORM, consulta la documentazione di sqlcommenter.

Utilizzare sqlcommenter per aggiungere tag

Se non utilizzi ORM, devi aggiungere manualmente tag o commenti sqlcommenter nel formato di commento SQL corretto alla tua query SQL. Devi anche aumentare ogni istruzione SQL con un commento contenente una coppia chiave-valore serializzata. Utilizza almeno uno dei seguenti tasti:

  • action=''
  • controller=''
  • framework=''
  • route=''
  • application=''
  • db driver=''

Query Insights elimina tutte le altre chiavi.

Disabilita Query Insights

Console

Per disattivare 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 Approfondimenti sulle query.
  5. Deseleziona la casella di controllo Abilita Query Insights.
  6. Fai clic su Salva.

gcloud

Per disattivare 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 disattivare 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 seguenti sostituzioni:

  • 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"
}

Disattivare Query Insights per la versione Cloud SQL Enterprise Plus

Per disattivare Query Insights per la versione Cloud SQL Enterprise Plus:

  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 Approfondimenti sulle query.
  5. Deseleziona la casella di controllo Abilita le funzionalità di Enterprise Plus.
  6. Fai clic su Salva.

Passaggi successivi