Usare Performance Hub per analizzare le prestazioni SQL
È possibile utilizzare Hub delle prestazioni per monitorare e analizzare le prestazioni SQL e ottenere maggiore visibilità sui problemi relativi alle prestazioni.
Hub delle prestazioni per i sistemi DB HeatWave ed MySQL esterno visualizza le informazioni sulle istruzioni SQL per il periodo di tempo selezionato. Hub delle prestazioni consente di migliorare le prestazioni delle applicazioni di database monitorando le prestazioni delle query. Consente di individuare con precisione il codice SQL che è la causa principale di un rallentamento e migliorare il codice SQL durante lo sviluppo attivo, nonché monitorare e ottimizzare continuamente le query in esecuzione sui sistemi di produzione.
Per passare a Hub delle prestazioni, fare clic su Hub delle prestazioni nella pagina Dettagli database MySQL in Gestione database. Per informazioni, vedere Monitorare un singolo sistema DB HeatWave o MySQL esterno.
- Per un sistema DB HeatWave abilitato per Gestione database, è inoltre possibile accedere a Hub delle prestazioni dalla pagina Dettagli sistema DB nel servizio HeatWave.
- Per i sistemi DB HeatWave, alcune funzioni di Hub delle prestazioni, ad esempio Explain plan e Digida dettagli errore, sono disponibili solo se l'opzione Monitoraggio completo è stata selezionata quando si abilita Gestione database. Per informazioni, vedere Abilita Gestione database per HeatWave.
- Per i sistemi DB MySQL esterni, assicurarsi che le variabili e le tabelle richieste siano configurate nell'impostazione MySQL e di disporre dei privilegi necessari per eseguire task quali la visualizzazione dei dettagli degli errori di esecuzione e l'explain plan. Per informazioni, vedere Eseguire task dei prerequisiti correlati al sistema DB MySQL esterno.
In Hub delle prestazioni, selezionare un'opzione nell'elenco a discesa Ultimo accesso per specificare la durata per la quale si desidera monitorare l'attività SQL e visualizzare le ultime istruzioni SQL visualizzate. Se si seleziona l'opzione Personalizzato nell'elenco a discesa Ultima visualizzazione, è possibile specificare una durata personalizzata nell'ultimo periodo di sette giorni. Nel campo Intervallo di tempo viene visualizzato il periodo di tempo in base all'opzione Ultima visualizzazione selezionata. È inoltre possibile fare clic sul campo Intervallo di tempo per specificare una durata personalizzata nell'ultimo periodo di sette giorni. Per aggiornare i dati in Hub delle prestazioni, fare clic su Aggiorna nell'angolo superiore destro.
In base al periodo di tempo selezionato, le informazioni pertinenti vengono visualizzate nei grafici e nella sezione riportati di seguito.
- Latenza media delle istruzioni (secondi): visualizza la latenza media (in secondi) per le istruzioni SQL eseguite nel sistema DB.
Fare clic su Seleziona grafici nell'angolo superiore destro e selezionare Conteggio dichiarazioni per visualizzare il grafico Conteggio dichiarazioni. Questo grafico visualizza il numero totale di istruzioni SQL eseguite sul sistema DB durante il periodo di tempo selezionato. Per un sistema DB HeatWave, il grafico Conteggio delle istruzioni visualizza anche il numero di istruzioni SQL scaricate in HeatWave per l'esecuzione.
- Primi 100 per <indicatore>: visualizza le informazioni di riepilogo aggregate per le prime istruzioni SQL in base a un indicatore selezionato, ad esempio la latenza media delle istruzioni, il conteggio totale delle esecuzioni o lo stato di esecuzione. Nella sezione Primi 100 per <indicatore> è possibile selezionare un indicatore per ordinare e monitorare le istruzioni SQL in base a tale misura delle prestazioni, consentendo di identificare rapidamente istruzioni costose. Gestione database utilizza i dati memorizzati nella tabella
events_statements_summary_by_digest
dello schema delle prestazioni MySQL. Le istruzioni SQL elencate nella sezione Primi 100 per <indicatore> sono istruzioni normalizzate e i dati mostrati vengono aggregati dal momento in cui è stata visualizzata per la prima volta ogni istruzione. In base ai dati, vengono visualizzate le istruzioni SQL più lente, frequenti o ad alta intensità di risorse ed è possibile utilizzare queste informazioni per identificare le istruzioni che causano problemi di prestazioni.Si noti che alcuni indicatori nell'elenco a discesa Primi 100 per <indicatore> vengono visualizzati come colonne predefinite. Se si sceglie di ordinare le istruzioni SQL utilizzando un indicatore che non è una colonna predefinita, ad esempio Prima visualizzazione, verrà aggiunta come ultima colonna. Per personalizzare ulteriormente le informazioni visualizzate in questa sezione, selezionare o deselezionare le opzioni nell'elenco a discesa Colonne. Per un sistema DB abilitato per HeatWave, è inoltre possibile filtrare le istruzioni SQL selezionando un'opzione nell'elenco a discesa HeatWave offload status.
Di seguito è riportato l'elenco degli indicatori o delle colonne nella sezione Primi 100 per <indicatore>, in ordine alfabetico.
Indicatore/colonna descrizione; Tempo medio CPU
Il tempo medio della CPU, calcolato dividendo il tempo totale della CPU per il numero totale di esecuzioni di una specifica istruzione SQL (identificata dal relativo digest).
Nota: per i sistemi DB HeatWave, questo indicatore viene elencato solo se l'opzione Monitoraggio completo è stata selezionata durante l'abilitazione di Gestione database. Per informazioni, vedere Abilita Gestione database per HeatWave.
Inoltre, per utilizzare questo indicatore per i sistemi DB HeatWave, è necessario eseguire la query seguente per abilitare gli strumenti CPU:
UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME = 'events_statements_cpu';
Per i sistemi DB MySQL esterni, il tipo di consumer
events_statements_cpu
deve essere impostato suYES
per utilizzare questo indicatore. Per informazioni, vedere Eseguire task dei prerequisiti correlati al sistema DB MySQL esterno.Latenza media delle istruzioni (indicatore predefinito)
Il tempo medio necessario per l'esecuzione dell'istruzione SQL, calcolato in tutte le esecuzioni dell'istruzione.
Database Il nome del database in cui è stata eseguita l'istruzione SQL o "-" se non viene specificato alcun database. Questa è una colonna predefinita e non è inclusa nell'elenco degli indicatori.
Stato esecuzione
Stato corrente o risultato dell'esecuzione dell'istruzione SQL.
Se si verifica un errore durante l'esecuzione di un'istruzione SQL, nella colonna Stato viene visualizzata un'icona di errore (
). Fare clic su questa icona per visualizzare il codice di errore, il numero di occorrenze e il messaggio di errore nel pannello Digitali dettagli errore. Tenere presente che i dettagli degli errori potrebbero non essere visualizzati se determinate variabili o tabelle non sono configurate o abilitate nell'impostazione MySQL.
Prima visualizzazione
L'ora in cui è stata visualizzata per la prima volta l'istruzione SQL.
HeatWave con riduzione carico
Numero di esecuzioni di istruzioni SQL scaricate nell'acceleratore di query in memoria HeatWave.
Nota: oltre ai dati della tabella
events_statements_summary_by_digest
, nell'elenco a discesa degli indicatori per i sistemi DB abilitati per HeatWave viene visualizzato HeatWave stato di riduzione del carico.Ultima visualizzazione
L'ora dell'ultima visualizzazione dell'istruzione SQL.
Nessun indice valido utilizzato
Il numero totale di volte in cui MySQL non è riuscito a trovare un indice effettivo per eseguire l'istruzione SQL, con conseguente riduzione dell'efficienza dei piani di esecuzione e prestazioni più lente.
Nessun indice utilizzato
Numero totale di volte in cui non è stato utilizzato alcun indice per eseguire l'istruzione SQL.
Esegui query
L'istruzione SQL normalizzata. Questa è una colonna predefinita e non è inclusa nell'elenco degli indicatori. Fare clic sull'istruzione per visualizzare i dettagli SQL.
Tabelle temporanee
Numero totale di tabelle temporanee interne, create in memoria o su disco dall'istruzione SQL.
Tempo CPU totale
La quantità totale di tempo CPU utilizzata da tutte le esecuzioni di un'istruzione SQL specifica (identificata dal relativo digest).
Nota: per i sistemi DB HeatWave, questo indicatore viene elencato solo se l'opzione Monitoraggio completo è stata selezionata durante l'abilitazione di Gestione database. Per informazioni, vedere Abilita Gestione database per HeatWave.
Inoltre, per utilizzare questo indicatore per i sistemi DB HeatWave, è necessario eseguire la query seguente per abilitare gli strumenti CPU:
UPDATE performance_schema.setup_consumers SET ENABLED = 'YES' WHERE NAME = 'events_statements_cpu';
Per i sistemi DB MySQL esterni, il tipo di consumer
events_statements_cpu
deve essere impostato suYES
per utilizzare questo indicatore. Per informazioni, vedere Eseguire task dei prerequisiti correlati al sistema DB MySQL esterno.Conteggio totale esecuzioni
Numero totale di esecuzioni dell'istruzione SQL.
Totale righe interessate
Il numero totale di righe modificate dall'istruzione SQL.
Totale righe esaminate
Il numero totale di righe esaminate dall'istruzione SQL.
Totale righe inviate
Il numero totale di righe restituite dall'istruzione SQL.
Latenza totale delle istruzioni
Il tempo totale impiegato per tutte le esecuzioni dell'istruzione SQL.
Quando si esaminano le istruzioni SQL elencate dall'indicatore delle prestazioni selezionato, fare clic sul collegamento nella colonna Query per esaminare una singola istruzione SQL di interesse nel pannello Dettagli SQL. Il pannello Dettagli SQL dispone di due schede:
- Analizzatore query: in questa scheda è possibile effettuare le operazioni riportate di seguito.
- Utilizzare l'ID digest dell'istruzione per scrivere una query e ottenere informazioni aggiuntive dal sistema DB.
- Visualizzare l'istruzione SQL normalizzata.
- Monitora informazioni dettagliate sul tempo di esecuzione, il numero di righe e le tabelle temporanee. Ad esempio, è possibile monitorare il numero di righe esaminate o restituite e il numero di tabelle temporanee create.
Per informazioni sui digest delle istruzioni, vedere Performance Schema Statement Digests and Sampling.
- Spiega piano: in questa scheda è possibile:
- Visualizzare i dettagli di un'istruzione SQL di esempio, ad esempio quando è stata eseguita, il tempo impiegato e l'istruzione SQL effettiva con valori letterali passati al momento dell'esecuzione.
- Monitorare il piano di esecuzione generato per l'istruzione SQL, che fornisce approfondimenti preziosi sulle modalità di esecuzione dell'istruzione SQL. Visualizzando la strategia di esecuzione, puoi identificare i colli di bottiglia delle prestazioni, come le scansioni complete delle tabelle o i join inefficienti, e ottimizzare le istruzioni.
Per impostazione predefinita, viene visualizzata una rappresentazione grafica dell'output EXPLAIN, semplificando la comprensione del piano di esecuzione, l'identificazione delle inefficienze e l'adozione di decisioni informate per l'ottimizzazione. L'explain plan grafico visualizza il piano di esecuzione come struttura, in cui ogni nodo rappresenta un'operazione specifica nel processo di esecuzione, ad esempio scansioni di tabelle, join e ordinamenti. I nodi sono codificati a colori per rappresentare diversi tipi di operazioni, ed è possibile fare clic su singoli nodi per ulteriori informazioni su ogni passo. Quando si visualizza l'explain plan grafico, fare clic su Ruota per ruotare il diagramma in senso antiorario; è inoltre possibile utilizzare la rotellina del mouse, il touchpad o i tasti +/- per eseguire lo zoom avanti e indietro nel diagramma dell'explain plan.
Nell'elenco a discesa Opzione Visualizza selezionare explain plan tabulare per visualizzare il piano di esecuzione o la sequenza di operazioni utilizzate per eseguire un'istruzione in formato tabulare. In questa tabella viene fornito l'elenco delle operazioni e i dettagli riportati di seguito.
- Nome tabella: il nome della tabella a cui si accede durante l'esecuzione.
- Tipo: il tipo di metodo di accesso utilizzato per accedere alla tabella durante l'esecuzione.
- Chiave: l'indice utilizzato dall'istruzione, se presente.
- Ref: se l'istruzione coinvolge un join, le colonne o le costanti che vengono confrontate con la chiave.
- Righe: il numero stimato o effettivo di righe che l'operazione deve elaborare o restituire.
- Filtro: la percentuale di righe che si prevede vengano filtrate in base alla clausola
WHERE
. - Costo: il costo stimato di esecuzione dell'operazione.
Per personalizzare le informazioni visualizzate nella vista explain plan tabulare, selezionare o deselezionare le colonne nell'elenco a discesa Colonne.
- Analizzatore query: in questa scheda è possibile effettuare le operazioni riportate di seguito.