Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 13963|Răspunde: 0

[Sursă] Mysql folosește profilarea pentru a analiza motivele execuției lente a instrucțiunilor SQL

[Copiază linkul]
Postat pe 06.07.2017 11:12:17 | | | |

Un coleg de la CleverCode a recomandat recent un instrument pentru analiza instrucțiunilor sql în MySQL, profilare, și a constatat că acest instrument este foarte bun, care poate analiza cu acuratețe timpul specific petrecut pe instrucțiunile SQL în timpul procesului de interogare. CleverCode o rezumă aici și o împărtășește cu tine.

1 Introducere

Query Profiler-ul MySQL este un instrument foarte convenabil de analiză de diagnostic al interogărilor, prin care poți obține consumul mai multor resurse în întregul proces de execuție al unei interogări, cum ar fi CPU, IO, IPC, SWAP etc., precum și apariția PAGE FAULTS, CONTEXT SWITCHE etc., și poți obține de asemenea locația fiecărei funcții apelate de MySQL în fișierul sursă în timpul execuției interogării.

MySQL versiunea 5.0.37 sau ulterioară suportă funcția de depanare PROFILING, care îți permite să înțelegi detaliile resurselor consumate de instrucțiunile SQL. Pentru că necesită apelarea funcției getrusage() a sistemului, poate fi folosită doar pe platformele de clasă Linux/Unix, nu pe Windows. Mai mult, PROFILAREA este pentru procesarea proceselor, nu firele de execuție, iar alte aplicații de pe server pot afecta rezultatele depanării, astfel că acest instrument este potrivit pentru depanare în timpul dezvoltării, iar dacă doriți să depanați într-un mediu de producție, ar trebui să fiți atenți la limitările sale.

2 Funcționare

2.1 Verifică dacă profilul este activat, este dezactivat implicit.


2.2 Activează profilarea. Profilarea variabilelor este o variabilă de utilizator care trebuie reactivată de fiecare dată.


2.3 Executați următoarele instrucțiuni: Pentru a evita stocarea anterioară a SQL în QCACHE, se recomandă forțarea instrucțiunii SELECT să nu efectueze detectarea QCACHE atunci când se execută SQL. Acest lucru îți permite să trimiți acuratețea analizei.


2.4 UtilizareInterogare profil de afișareCel mai recentInformații de execuție ale enunțului。 (Analiză: selectați sql_no_cache număr(*) din system_user unde vârsta > 20 de ani)




2.5 Folosirea profilurilor de emisiune. Consultați o listă a instrucțiunilor care sunt executate pe server. (ID-ul interogării, timpul petrecut, instrucțiunea).




2.6 Folosiți profilul de afișare pentru a interoga informațiile de execuție ale ID-ului formulării. Aici analizăm afirmația cu ID 6. (Analiză: selectați sql_no_cache număr(*) din system_user unde vârsta > 20 de ani).


2.7 Obține CPU și blochează consumul de IO.




2.8 Obținerea de informații suplimentare. poate fi obținut prin efectuarea "AFIȘEAZĂ PROFILUL *** PENTRU INTEROGARE n". Adresă de referință: http://dev.mysql.com/doc/refman/5.6/en/show-profile.html.







Precedent:Nou-venitul raportează
Următor:Știri blockbuster! Dezvoltarea de mini-programe este gratuită!
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com