Seorang kolega di CleverCode baru-baru ini merekomendasikan alat untuk menganalisis pernyataan sql di MySQL, pembuatan profil, dan menemukan bahwa alat ini sangat bagus, yang dapat secara akurat menganalisis di mana waktu spesifik yang dihabiskan pada pernyataan sql selama proses kueri. CleverCode merangkumnya di sini dan membagikannya kepada Anda.
1 Pendahuluan
Query Profiler MySQL adalah alat analisis diagnostik Kueri yang sangat nyaman, di mana Anda dapat memperoleh konsumsi beberapa sumber daya dalam seluruh proses eksekusi kueri, seperti CPU, IO, IPC, SWAP, dll., serta terjadinya PAGE FAULTS, CONTEXT SWITCHE, dll., dan juga mendapatkan lokasi setiap fungsi yang dipanggil oleh MySQL dalam file sumber selama eksekusi kueri.
MySQL versi 5.0.37 atau yang lebih baru mendukung fungsi debugging PROFILING, yang memungkinkan Anda memahami detail sumber daya yang digunakan oleh pernyataan SQL. Karena memerlukan pemanggilan fungsi getrusage() sistem, itu hanya dapat digunakan pada platform kelas Linux/Unix, bukan Windows. Selain itu, PROFILING adalah untuk proses pemrosesan daripada utas, dan aplikasi lain di server dapat memengaruhi hasil debugging Anda, jadi alat ini cocok untuk debugging selama pengembangan, dan jika Anda ingin men-debug di lingkungan produksi, Anda harus memperhatikan keterbatasannya.
2 Operasi
2.1 Periksa apakah profil diaktifkan, itu dimatikan secara default.
2.2 Aktifkan pembuatan profil. Profil variabel adalah variabel pengguna yang perlu diaktifkan kembali setiap kali.
2.3 Jalankan pernyataan berikut: Untuk menghindari penyimpanan SQL sebelumnya di QCACHE, disarankan untuk memaksa pernyataan SELECT untuk tidak melakukan deteksi QCACHE saat menjalankan SQL. Ini memungkinkan Anda untuk mengirimkan keakuratan analisis.
2.4 PenggunaanTampilkan kueri profilYang terbaruInformasi eksekusi pernyataan。 (Analisis: pilih sql_no_cache count(*) dari system_user yang berusia > 20 tahun)
2.5 Menggunakan profil pertunjukan. Lihat daftar pernyataan yang dijalankan di server. (id kueri, waktu yang dihabiskan, pernyataan).
2.6 Gunakan show profile untuk mengkueri informasi eksekusi ID formulasi. Di sini kami menganalisis pernyataan dengan ID 6. (Analisis: pilih sql_no_cache count(*) dari system_user di mana usia > 20 tahun).
2.7 Dapatkan konsumsi CPU dan Blokir IO.
2.8 Memperoleh Informasi Tambahan. dapat diperoleh dengan melakukan "TAMPILKAN PROFIL *** UNTUK KUERI n". Alamat referensi: http://dev.mysql.com/doc/refman/5.6/en/show-profile.html.
|