Kolega z CleverCode nedávno odporučil nástroj na analýzu sql príkazov v MySQL, profilovanie, a zistil, že tento nástroj je veľmi dobrý, pretože dokáže presne analyzovať, kde konkrétny čas strávený na SQL príkazoch počas procesu dotazovania. CleverCode to tu zhrňuje a zdieľa s vami.
1 Úvod
MySQL Query Profiler je veľmi pohodlný nástroj na diagnostiku dotazov, prostredníctvom ktorého môžete získať spotrebu viacerých zdrojov počas celého procesu vykonávania dotazu, ako sú CPU, IO, IPC, SWAP a podobne, ako aj výskyt PAGE FAULTS, CONTEXT SWITCHE a podobne, a tiež získať polohu každej funkcie volanej MySQL v zdrojovom súbore počas vykonávania dotazu.
MySQL verzia 5.0.37 alebo novšia podporuje funkciu ladenia PROFILING, ktorá vám umožní pochopiť detaily zdrojov spotrebovaných SQL príkazmi. Keďže vyžaduje volanie funkcie getrusage() v systéme, dá sa použiť iba na platformách triedy Linux/Unix, nie na Windows. Navyše, PROFILOVANIE slúži na spracovanie procesov, nie vlákien, a iné aplikácie na serveri môžu ovplyvniť vaše výsledky ladenia, preto je tento nástroj vhodný na ladenie počas vývoja, a ak chcete ladiť v produkčnom prostredí, mali by ste si všímať jeho obmedzenia.
2 Prevádzka
2.1 Skontrolujte, či je profil zapnutý, je predvolene vypnutý.
2.2 Povoliť profilovanie. Profilovanie premenných je používateľská premenná, ktorú je potrebné zakaždým znovu zapnúť.
2.3 Vykonajte nasledujúce príkazy: Aby sa predišlo predchádzajúcej uloženosti SQL v QCACHE, odporúča sa vynútiť príkaz SELECT nevykonávať detekciu QCACHE pri vykonávaní SQL. To vám umožní odovzdať presnosť analýzy.
2.4 Použitiezobraziť profilový dotazTo najnovšieInformácie o vykonávaní vyhlásenia。 (Analýza: vyberte sql_no_cache count(*) z system_user kde vek > 20 rokov)
2.5 Použitie profilov relácií. Zobraziť zoznam príkazov, ktoré sa vykonávajú na serveri. (ID dotazu, čas strávený časom, vyjadrenie).
2.6 Použite show profile na dotazovanie na informácie o vykonávaní ID formulácie. Tu analyzujeme výrok pomocou ID 6. (Analýza: vyberte sql_no_cache count(*) z system_user, kde vek > 20 rokov).
2.7 Získať CPU a blokovať spotrebu IO.
2.8 Získanie ďalších informácií. je možné získať vykonaním úlohy "ZOBRAZIŤ PROFIL *** PRE DOTAZ n". Referenčná adresa: http://dev.mysql.com/doc/refman/5.6/en/show-profile.html.
|