Pantau Semua Pertanyaan SQL di MySQL
Microsoft's SQL Server memiliki alat bernama Profiler yang dapat Anda gunakan untuk memantau setiap permintaan SQL yang mengenai database. Ini sangat berguna untuk programmer dan juga administrator basis data untuk memecahkan masalah permintaan yang dihasilkan oleh suatu aplikasi.
Setelah beralih menggunakan MySQL secara rutin, ini adalah salah satu hal pertama yang ingin saya ketahui caranya. Bagaimana lagi Anda bisa melihat kode SQL aktual yang dihasilkan oleh WordPress atau phpBB?
Hal pertama yang perlu kita lakukan adalah mengaktifkan pencatatan kueri di MySQL. Berhati-hatilah karena ini hanya boleh dilakukan dalam pengembangan ... itu benar-benar memperlambat segalanya untuk mencatat setiap permintaan tunggal ke file.
Temukan dan buka file konfigurasi MySQL Anda, biasanya /etc/mysql/my.cnf di Ubuntu. Cari bagian yang mengatakan "Penebangan dan Replikasi"
#
# * Penebangan dan Replikasi
#
# Kedua lokasi diputar oleh cronjob.
# Perlu diketahui bahwa jenis log ini adalah pembunuh kinerja.log = /var/log/mysql/mysql.log
Batalkan komentar pada variabel "log" untuk menghidupkan logging. Mulai ulang MySQL dengan perintah ini:
sudo /etc/init.d/mysql restart
Sekarang kita siap untuk mulai memonitor permintaan ketika mereka masuk. Buka terminal baru dan jalankan perintah ini untuk menggulir file log, menyesuaikan jalur jika perlu.
tail -f /var/log/mysql/mysql.log
Sekarang jalankan aplikasi Anda. Anda akan melihat permintaan basis data mulai terbang di jendela terminal Anda. (pastikan Anda telah mengaktifkan scrolling dan history pada terminal)
Saya terkesan, phpbb3 memiliki kode SQL yang cukup ketat dan optimal. WordPress, di sisi lain, sangat tidak efisien.