Rumah > Artikel > pangkalan data > Apakah log pertanyaan lambat dan cadangan pengoptimuman untuk mempelajari MySQL?
Apakah log pertanyaan lambat dan cadangan pengoptimuman untuk mempelajari MySQL?
Pertanyaan perlahan merujuk kepada pernyataan pertanyaan yang mengambil masa yang lama untuk dilaksanakan dalam pangkalan data MySQL, yang mungkin menyebabkan prestasi sistem menurun. Untuk menemui dan menyelesaikan masalah pertanyaan perlahan tepat pada masanya, MySQL menyediakan alat log pertanyaan perlahan untuk membantu pembangun mengoptimumkan prestasi dengan merekodkan pernyataan pertanyaan perlahan, masa pelaksanaan dan maklumat lain yang berkaitan.
1. Dayakan log pertanyaan perlahan
Untuk menggunakan fungsi log pertanyaan perlahan, anda perlu membuat tetapan yang sepadan dalam fail konfigurasi MySQL. Dalam fail konfigurasi MySQL my.cnf atau my.ini, cari bahagian [mysqld] dan tambah atau ubah suai parameter berikut:
slow_query_log = 1 // Dayakan log pertanyaan perlahan, nilai lalai ialah 0
slow_query_log_file = /var/ log /mysql/slow-query.log // Laluan fail log pertanyaan perlahan
long_query_time = 1 // Tentukan pertanyaan yang mengambil masa lebih daripada beberapa saat untuk dilaksanakan sebagai pertanyaan perlahan Nilai lalai ialah 10 saat
Simpan konfigurasi fail dan mulakan semula perkhidmatan MySQL, pertanyaan perlahan Log akan mula merakam.
2. Analisa log pertanyaan perlahan
Log pertanyaan lambat merekodkan maklumat terperinci pernyataan pertanyaan yang masa pelaksanaannya melebihi takrifan long_query_time. Berikut ialah contoh log pertanyaan perlahan:
SET timestamp=1577840405;
SELECT * FROM user
WHERE age
> 30;
Dalam log, Query_time mewakili masa pelaksanaan pertanyaan, Rows_sentlock mewakili masa pelaksanaan pertanyaan, Lock_sent mewakili masa. klien, dan Rows_examined mewakili Bilangan baris yang ditanya.
3. Petua Cadangan Pengoptimuman
Selepas kami menganalisis log pertanyaan yang perlahan, kami boleh membuat pengoptimuman yang sepadan berdasarkan pernyataan pertanyaan dan kesesakan prestasi tertentu. Berikut ialah beberapa petua pengoptimuman yang biasa digunakan:
Kurangkan jumlah penghantaran data: Cuba kurangkan jumlah penghantaran data dalam hasil pertanyaan, pilih hanya medan yang diperlukan dan elakkan daripada mengembalikan data yang tidak diperlukan.
Contoh:
SEDIAKAN stmt DARI 'PILIH * DARI pengguna DI MANA umur > ?';
Ringkasan
Mempelajari log pertanyaan lambat MySQL dan cadangan pengoptimuman adalah penting untuk meningkatkan prestasi pangkalan data. Dengan mendayakan log pertanyaan perlahan, kami boleh merekodkan pernyataan yang masa pelaksanaan pertanyaannya melebihi ambang pratetap dan melaksanakan pengoptimuman prestasi yang sepadan dengan menganalisis log pertanyaan perlahan. Penggunaan indeks yang munasabah, pengurangan volum penghantaran data, penggunaan pernyataan prapemprosesan, jadual partition dan teknik pengoptimuman lain boleh meningkatkan kecekapan pertanyaan pangkalan data dan prestasi sistem dengan ketara.
Atas ialah kandungan terperinci Apakah log pertanyaan lambat dan cadangan pengoptimuman untuk mempelajari MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!