Un collega di CleverCode ha recentemente consigliato uno strumento per analizzare le istruzioni SQL in MySQL, il profiling, e ha scoperto che questo strumento è molto valido, in grado di analizzare con precisione il tempo specifico dedicato alle istruzioni SQL durante il processo di interrogazione. CleverCode lo riassume qui e lo condivide con te.
1 Introduzione
Il Query Profiler di MySQL è uno strumento di analisi diagnostica delle query molto comodo, attraverso il quale puoi ottenere il consumo di più risorse nell'intero processo di esecuzione di una query, come CPU, IO, IPC, SWAP, ecc., così come la comparsa di PAGE FAULT, CONTEXT SWITCHE, ecc., e anche ottenere la posizione di ogni funzione chiamata da MySQL nel file sorgente durante l'esecuzione della query.
MySQL versione 5.0.37 o successiva supporta la funzione di debug PROFILING, che permette di comprendere i dettagli delle risorse consumate dalle istruzioni SQL. Poiché richiede di chiamare la funzione getrusage() del sistema, può essere utilizzata solo su piattaforme di classi Linux/Unix, non su Windows. Inoltre, il PROFILING è destinato a elaborare processi piuttosto che a thread, e altre applicazioni sul server possono influenzare i risultati del debug, quindi questo strumento è adatto per il debug durante lo sviluppo, e se vuoi fare debug in un ambiente di produzione, dovresti prestare attenzione alle sue limitazioni.
2 Funzionamento
2.1 Controlla se il profilo è abilitato, è disattivato di default.
2.2 Abilita la profilazione. Il profiling delle variabili è una variabile utente che deve essere riabilitata ogni volta.
2.3 Esegui le seguenti istruzioni: Per evitare di aver precedentemente memorizzato SQL in QCACHE, si consiglia di forzare l'istruzione SELECT a non eseguire il rilevamento QCACHE durante l'esecuzione di SQL. Questo ti permette di fornire l'accuratezza dell'analisi.
2.4 UtilizzoMostra Query del profiloL'ultimoInformazioni di esecuzione dell'enunciato。 (Analisi: selezionare sql_no_cache conteggio(*) da system_user dove l'età > 20 anni)
2.5 Utilizzo dei profili dello show. Visualizza un elenco delle istruzioni eseguite sul server. (ID della query, tempo impiegato, istruzione).
2.6 Usa il profilo di mostra per interrogare le informazioni di esecuzione dell'ID della formulazione. Qui analizziamo l'affermazione con ID 6. (Analisi: seleziona sql_no_cache conteggio(*) da system_user dove l'età > 20 anni).
2.7 Ottieni CPU e blocca il consumo IO.
2.8 Ottenere ulteriori informazioni. può essere ottenuto eseguendo "MOSTRA PROFILO *** PER QUERY n". Indirizzo di riferimento: http://dev.mysql.com/doc/refman/5.6/en/show-profile.html.
|