Cara menggunakan log pertanyaan lambat MySQL untuk mencari kesesakan prestasi
Kesekatan prestasi adalah salah satu masalah yang sering dihadapi oleh aplikasi pangkalan data, dan fungsi log pertanyaan lambat yang disediakan oleh MySQL boleh membantu kami mencari penyataan pertanyaan perlahan dan kemudian mengesan kesesakan prestasi. Artikel ini akan memperkenalkan cara menggunakan log pertanyaan lambat MySQL untuk mencari kesesakan prestasi dan menyediakan contoh kod yang sepadan.
1. Dayakan log pertanyaan perlahan
Untuk menggunakan fungsi log pertanyaan perlahan, anda perlu mendayakan pilihan konfigurasi yang sepadan terlebih dahulu. Buka fail konfigurasi MySQL (biasanya my.ini atau my.cnf), cari nod [mysqld] dan tambahkan konfigurasi berikut di bawah nod:
slow_query_log = 1 # Dayakan log pertanyaan perlahan
slow_query_log_file = /var/log/ mysql/ slow_query.log # Laluan fail log pertanyaan perlahan
long_query_time = 1 # Pernyataan yang mengambil masa lebih daripada 1 saat untuk pertanyaan akan direkodkan sebagai pertanyaan perlahan
Selepas menyimpan dan menutup fail konfigurasi, mulakan semula perkhidmatan MySQL untuk mendayakan pertanyaan perlahan fungsi log.
2. Semak log pertanyaan perlahan
Apabila pelayan MySQL anda telah berjalan untuk satu tempoh masa, fail log pertanyaan yang perlahan akan merekodkan penyata yang mengambil masa lebih lama daripada tetapan long_query_time. Anda boleh menggunakan arahan berikut untuk melihat log pertanyaan perlahan:
sudo tail -n 100 /var/log/mysql/slow_query.log # Lihat 100 pernyataan pertanyaan lambat terakhir
Ini akan memaparkan maklumat terperinci 100 terakhir pernyataan pertanyaan lambat, Termasuk pernyataan pertanyaan, masa pelaksanaan, dsb.
3. Analisa log pertanyaan yang perlahan
Log pertanyaan yang perlahan memberikan masa pelaksanaan pernyataan pertanyaan Dengan menganalisis pernyataan pertanyaan yang perlahan ini, kita boleh mencari kesesakan prestasi. Berikut ialah beberapa kaedah analisis log pertanyaan lambat yang biasa:
PILIH * DARI pengguna WHERE nama = 'John';
Anda boleh meningkatkan prestasi dengan menambah indeks atau melaraskan pernyataan pertanyaan.
JELASKAN PILIH * DARI pengguna DI MANA umur >
Anda boleh menyemak sama ada pertanyaan menggunakan indeks, indeks yang digunakan dan maklumat lain. Berdasarkan rancangan pelaksanaan, anda boleh melaraskan pernyataan pertanyaan atau menambah indeks untuk meningkatkan prestasi.
Berikut ialah contoh kod yang menunjukkan cara menggunakan perintah EXPLAIN untuk melihat pelan pelaksanaan pernyataan pertanyaan:
EXPLAIN SELECT * FROM user WHERE age > 18;
4 Optimumkan pernyataan pertanyaan
Dengan menganalisis log pertanyaan perlahan, kita boleh mencari pernyataan pertanyaan yang memerlukan. untuk dioptimumkan. Bergantung pada situasi tertentu, anda boleh memilih kaedah pengoptimuman berikut:
Di atas ialah beberapa kaedah dan kod sampel untuk menggunakan log pertanyaan lambat MySQL untuk mencari kesesakan prestasi. Dengan menganalisis log pertanyaan perlahan dan mengguna pakai strategi pengoptimuman yang sepadan, prestasi aplikasi pangkalan data boleh dipertingkatkan dengan berkesan. Semoga artikel ini dapat membantu anda!
Atas ialah kandungan terperinci Cara menggunakan log pertanyaan lambat MySQL untuk mencari kesesakan prestasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!