Eräs kollega CleverCodella suositteli äskettäin työkalua SQL-lauseiden analysointiin MySQL:ssä, eli profilointiin, ja totesi, että tämä työkalu on erittäin hyvä, sillä se pystyy tarkasti analysoimaan, missä sql-lauseisiin käytetty tarkka aika kyselyprosessin aikana. CleverCode tiivistää sen tähän ja jakaa sen kanssasi.
1 Johdanto
MySQL:n Query Profiler on erittäin kätevä kyselydiagnostiikka-analyysityökalu, jonka avulla voit saada useita resursseja koko kyselyn suoritusprosessin aikana, kuten CPU, IO, IPC, SWAP jne., sekä PAGE FAULTS, CONTEXT SWITCHE jne. esiintymisen, ja lisäksi jokaisen MySQL:n kutsuman funktion sijainnin lähdetiedostossa kyselyn suorituksen aikana.
MySQL-versio 5.0.37 tai uudempi tukee PROFILING-virheenkorjaustoimintoa, jonka avulla voit ymmärtää SQL-lauseiden käyttämien resurssien yksityiskohdat. Koska se vaatii järjestelmän getrusage()-funktion kutsumisen, sitä voi käyttää vain Linux/Unix-luokan alustoilla, ei Windowsilla. Lisäksi PROFILOINTI on tarkoitettu prosessien käsittelyyn säikeiden sijaan, ja palvelimen muut sovellukset voivat vaikuttaa debuggaustuloksiisi, joten tämä työkalu soveltuu kehityksen aikaiseen virheenkorjaukseen, ja jos haluat debugata tuotantoympäristössä, sinun kannattaa kiinnittää huomiota sen rajoituksiin.
2 Toiminta
2.1 Tarkista, onko profiili päällä, se on oletuksena pois päältä.
2.2 Ota profiili käyttöön. Muuttujaprofilointi on käyttäjämuuttuja, joka täytyy ottaa uudelleen käyttöön joka kerta.
2.3 Suorita seuraavat lauseet: Jotta SQL ei olisi aiemmin tallennettu QCACHEiin, suositellaan pakottamaan SELECT-lause olemaan suorittamatta QCACHE:n tunnistusta SQL:ää suorittaessa. Tämä mahdollistaa analyysin tarkkuuden toimittamisen.
2.4 KäyttöNäytä profiilikyselyViimeisinLausunnon täytäntöönpanotiedot。 (Analyysi: valitse sql_no_cache luku(*) system_user, jossa ikä > 20)
2.5 Show-profiilien käyttö. Katso lista palvelimella suoritetuista lauseista. (kyselytunnus, käytetty aika, lausunto).
2.6 Käytä show profilea kyselyyn formulation ID:n suoritustiedot. Tässä analysoimme väitettä ID 6:lla. (Analyysi: valitse sql_no_cache luku(*) system_user, jossa ikä > 20).
2.7 Hanki prosessorin ja lohko IO:n kulutus.
2.8 Lisätietojen hankkiminen. voi saada suorittamalla "NÄYTÄ PROFIILI *** KYSELYLLE n". Viiteosoite: http://dev.mysql.com/doc/refman/5.6/en/show-profile.html.
|