Dalam mysql, penyataan pertanyaan perlahan merujuk kepada penyataan yang masa tindak balasnya melebihi ambang dalam log pertanyaan perlahan Masa berjalan tertentu melebihi nilai "long_query_time" bagi pernyataan SQL anda boleh menetapkan parameter "slow_query_log". untuk menetapkan Sama ada untuk mendayakan pertanyaan perlahan, "1" bermakna hidup, "0" bermakna dimatikan.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.
Log pertanyaan lambat MySQL ialah rekod log yang disediakan oleh MySQL Ia digunakan untuk merekodkan penyataan yang masa tindak balasnya melebihi ambang dalam MySQL, khususnya merujuk kepada menjalankan SQL yang melebihi nilai long_query_time akan direkodkan dalam log pertanyaan perlahan.
Nilai lalai long_query_time ialah 10, yang bermaksud menjalankan pernyataan selama lebih daripada 10S.
Secara lalai, pangkalan data Mysql tidak memulakan log pertanyaan yang perlahan Kami perlu menetapkan parameter ini secara manual, jika ia tidak diperlukan untuk penalaan, biasanya tidak disyorkan untuk memulakan parameter ini menghidupkan log pertanyaan perlahan akan menyebabkan atau Lebih kurang akan mempunyai kesan prestasi tertentu. Log pertanyaan lambat menyokong penulisan rekod log ke fail dan juga menyokong penulisan rekod log ke jadual pangkalan data.
Penjelasan parameter yang berkaitan dengan pertanyaan lambat MySQL:
log_permintaan_lambat: sama ada untuk mendayakan log pertanyaan perlahan, 1 bermakna hidup, 0 bermakna dimatikan.
log-slow-queries: Versi lama (versi di bawah 5.6) laluan storan log pertanyaan lambat pangkalan data MySQL. Anda tidak boleh menetapkan parameter ini dan sistem akan lalai kepada fail lalai host_name-slow.log
slow-query-log-file: Versi baharu (5.6 dan ke atas) pangkalan data MySQL Laluan storan log pertanyaan perlahan. Anda tidak boleh menetapkan parameter ini dan sistem akan lalai kepada fail lalai host_name-slow.log
long_query_time: ambang pertanyaan perlahan Apabila masa pertanyaan lebih panjang daripada ambang yang ditetapkan, Simpan log.
log_queries_not_using_indexes: Pertanyaan yang tidak menggunakan indeks juga dilog masuk ke log pertanyaan perlahan (pilihan).
log_output: kaedah penyimpanan log. log_output='FILE' bermaksud untuk menyimpan log ke fail, dan nilai lalai ialah 'FILE'. log_output='JADUAL' bermaksud untuk menyimpan log dalam pangkalan data.
slow_query_log
Secara lalai, nilai slow_query_log DIMATIKAN, menunjukkan bahawa log pertanyaan perlahan dilumpuhkan dan boleh dihidupkan dengan menetapkan nilai slow_query_log , seperti yang ditunjukkan di bawah:
mysql> show variables like '%slow_query_log%'; +---------------------+-----------------------------------------------+ | Variable_name | Value | +---------------------+-----------------------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /home/WDPM/MysqlData/mysql/DB-Server-slow.log | +---------------------+-----------------------------------------------+
baris dalam set (0.00 saat)
mysql> set global slow_query_log=1; Query OK, 0 rows affected (0.09 sec)
Gunakan set global slow_query_log=1 untuk mendayakan pertanyaan perlahan log hanya untuk masa semasa Pangkalan data berkuat kuasa dan akan menjadi tidak sah selepas MySQL dimulakan semula.
Jika anda mahu ia berkuat kuasa secara kekal, anda mesti mengubah suai fail konfigurasi my.cnf (perkara yang sama berlaku untuk pembolehubah sistem lain).
my.cnf Untuk menambah atau mengubah suai parameter slow_query_log dan slow_query_log_file, seperti yang ditunjukkan di bawah
slow_query_log = 1 slow_query_log_file = /tmp/mysql_slow.log
Kemudian mulakan semula pelayan MySQL.
slow_query_log_file
Parameter ini digunakan untuk menentukan laluan storan log pertanyaan perlahan Secara lalai ialah fail host_name-slow.log,
mysql> show variables like 'slow_query_log_file'; +---------------------+-----------------------------------------------+ | Variable_name | Value | +---------------------+-----------------------------------------------+ | slow_query_log_file | /home/WDPM/MysqlData/mysql/DB-Server-slow.log | +---------------------+-----------------------------------------------+ 1 row in set (0.00 sec)
Pembelajaran yang disyorkan: tutorial video mysql
Atas ialah kandungan terperinci Apakah pernyataan pertanyaan lambat mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!