Enable Logging of Slow Queries (Slow Query Log) in MySQL Database Aktifkan Logging dari Query Lambat (Slow Permintaan Log) di MySQL Database
One of the main requirements for a fast Salah satu persyaratan utama untuk cepat web server web server is to has efficient and effective SQL statements or queries that are optimized. yang telah efisien dan efektif pernyataan SQL atau query yang optimal. Any non-optimal SQL (Structured Query Language) commands or statements that take too long or lengthy time to execute will use up a lot of system resources, causing Any non-optimal SQL (Structured Query Language) perintah atau pernyataan yang mengambil terlalu panjang atau lama waktu untuk melaksanakan akan menghabiskan banyak sumber daya sistem, sehingga MySQL MySQL database to run slower, and then more and more queries backlogs queuing up, and when connection limit is reached, visitors are been denied or refused connection. database berjalan lambat, dan kemudian semakin banyak permintaan atas backlogs antrian, dan ketika sambungan mencapai batas tersebut, pengunjung akan ditolak atau menolak koneksi. In worst case scenario, your web server will go down as well, or continuously underperform. Dalam kasus skenario terburuk, server Web Anda akan turun juga, terus atau underperform. The case is especially true when you are using MyISAM table type which uses table-level locking instead of row-level locking in a high traffic website. Hal ini benar terutama jika Anda menggunakan jenis tabel MyISAM yang menggunakan tabel tingkat penguncian bukan baris-penguncian tingkat tinggi lalu lintas di situs web.
Sometime, a single SQL query may be the cause of all the server's problems. Kadang-kadang, satu SQL query mungkin merupakan penyebab semua masalah server. MySQL has built-in functionality to capture slow query log or identify queries that are not optimal and take a long time to finish, which allows you to log all slow running queries which took over defined number of seconds to execute by MySQL database engine to a file. MySQL memiliki fungsi built-in untuk menangkap permintaan log atau lambat mengidentifikasi query yang optimal dan tidak perlu menunggu lama untuk menyelesaikan, yang memungkinkan Anda untuk log semua permintaan yang berjalan lambat mengambil alih ditetapkan jumlah detik untuk dijalankan oleh database MySQL ke mesin file. Slow query log is not activated or on by default MySQL installation, thus it is one of the less-used logs. Lambat permintaan login atau tidak diaktifkan secara default MySQL instalasi, sehingga merupakan salah satu yang digunakan kurang-log.
To enable slow query log, simply add the following line to MySQL configuration file (my.cnf or my.ini), and then restart the MySQL server: Untuk mengaktifkan log query lambat, cukup menambahkan baris berikut ke file konfigurasi MySQL (my.cnf atau my.ini), dan kemudian restart MySQL server:
log-slow-queries Log-lambat-query
or atau
log-slow-queries = [path to the log file] Log-lambat-query = [path ke file log]
Replace [path to the log file] with actual path to the slow query log file you want the MySQL to write the log to, which is the optional value. Ganti [path ke file log] sebenarnya dengan path ke file log lambat permintaan Anda ingin MySQL untuk menulis log untuk, yang merupakan nilai opsional.
Or you can start mysqld with with the –log-slow-queries[=file_name] option to enable the slow query log. Atau Anda bisa mulai dengan dengan mysqld-log-lambat-query [= File_name] pilihan untuk mengaktifkan permintaan lambat log. In both syntaxes, if not log file name is specified, the default name is host_name -slow.log, stored in the MySQL data file directory. Dalam kedua syntaxes, jika tidak nama file log yang ditentukan, nama standar adalah host_name-slow.log, disimpan dalam file direktori data MySQL. If a filename is given, but not as an absolute pathname, the server writes the file in the data directory too. Jika nama file yang diberikan, namun tidak mutlak sebagai pathname, server menulis file ke dalam direktori data juga.
After enabling slow query log, MySQL will create, capture and log to the log file with all SQL statements that took more than long_query_time seconds to execute, which is by default set to 10 seconds. Setelah mengaktifkan permintaan lambat log, MySQL akan membuat, menangkap dan log untuk file log yang SQL dengan semua pernyataan yang membawa lebih dari long_query_time detik untuk dijalankan, yang secara default diatur ke 10 detik. The time to acquire the initial table locks is not counted as execution time. Waktu untuk memperoleh awal tabel kunci tidak dihitung sebagai waktu eksekusi. mysqld writes a statement to the slow query log after it has been executed and after all locks have been released, so log order might be different from execution order. mysqld menulis pernyataan kepada lambat permintaan login setelah telah dijalankan dan setelah semua kunci telah dirilis, sehingga log pesanan mungkin berbeda dari urutan eksekusi.
You can then examine all the SQL queries that took longer than the pre-defined number of seconds (10 seconds by default) in the host_name -slow.log, and then take the necessary steps to optimize the SQL statements. Anda dapat memeriksa semua SQL query yang mengambil lebih dari yang sudah ditetapkan jumlah detik (10 detik secara default) di host_name-slow.log, dan kemudian mengambil langkah yang diperlukan untuk mengoptimalkan statemen SQL. The slow query log will tell you about what was time the query completed, how long the query took to run, how long it took to secure its locks, how many rows were sent back as a result, how many rows were examined to determine the result, which database was used, and the actual query itself. Permintaan login yang lambat akan memberitahukan tentang apa yang waktu permintaan selesai, berapa lama permintaan itu berjalan, berapa lama dan aman untuk mengambil kunci, berapa banyak baris yang dikirim kembali sebagai akibatnya, berapa banyak baris yang diperiksa untuk menentukan Hasilnya, data yang digunakan, dan sebenarnya permintaan itu sendiri. But bear in mind that a SQL query contained in the log may have already optimum, but executed slowly due to the system resources been used up by the actual slow statement that need to be fine tuned. Tetapi ingatlah bahwa dalam SQL query log Mei sudah optimal, tetapi dijalankan lambat karena sistem tersebut telah digunakan oleh yang sebenarnya lambat pernyataan yang harus denda menantikan.
IMPORTANT : The page is machine translated and provided "as is" without warranty. PENTING: Halaman yang diterjemahkan mesin dan diberikan "sebagaimana adanya" tanpa jaminan. Machine translation may be difficult to understand. Mesin terjemahan mungkin sulit dimengerti. Please refer to Silakan merujuk ke original English article artikel asli Inggris whenever possible. bila memungkinkan.
Related Articles Artikel Terkait
- Change or Set MySQL Long Query Time Value for log-slow-queries Mengubah atau Set Long MySQL Query Waktu Nilai untuk log-lambat-query
- WordPress MySQL SQL Query Error in WPDB Class Wordpress MySQL Query SQL Kesalahan dalam WPDB Kelas
- Check and Optimize MySQL Database Automatically with Crontab/Cron Memeriksa dan Optimalkan MySQL Database secara otomatis dengan crontab / Cron
- How to Find and Replace Text in MySQL Database using SQL Cara Cari dan Ganti Teks di MySQL Database menggunakan SQL
- MySQL Database Performance Tuning Best Practices Video Tutorial Kinerja MySQL Database Tuning Jawaban Praktik Video Tutorial
- Remove or Trim First or Last Few Characters in MySQL Database with SQL Menghapus atau Trim Pertama atau Sedikit Terakhir Karakter dalam MySQL Database dengan SQL
- Enable MySQL InnoDB Storage Engine Support in XAMPP Installation Aktifkan MySQL InnoDB Storage Engine Dukungan di Instalasi XAMPP
- Change and Reset MySQL root Password Mengubah dan Reset MySQL root Password
- You Are Not Authorized to Execute SQL Queries in vBulletin Maintenance Apakah Anda Tidak Resmi ke Jalankan Query SQL dalam vBulletin Pemeliharaan
- Oracle Database Link Oracle Database Link










































February 20th, 2009 21:29 20 Feb 2009 21:29
I use MONyog Query analyzer to analyze slow queries. Saya menggunakan MONyog Permintaan analisa untuk menganalisa query lambat. It works flawlessly. It works flawlessly.
December 19th, 2008 19:37 19 Des 2008 19:37
I can't really confirm this – I enabled slow loggin in the appropiate config file (debian lenny, mysql 5.0 latest) because I HAD “some” slow queries before. Saya tidak bisa mengkonfirmasi ini benar-benar - saya diaktifkan loggin lambat dalam file konfigurasi yang sesuai (debian lenny, mysql terbaru 5,0) karena saya HAD "beberapa" lambat sebelum permintaan.
After enabling there are thousands of “slow queries” being logged – The slow limit is set to the default of 10 sec. Setelah mengaktifkan ada ribuan "lambat query" sedang login - The lambat batas diatur ke default dari 10 detik. This is really nonsense as there can't be a >10sec query when the whole page is being calculated, by php, tranferred over the net and rendered on the client browser in under 5 sec Ini benar-benar serius karena tidak dapat menjadi> 10 DET permintaan ketika seluruh halaman sedang dihitung, dengan php, tranferred atas bersih dan diberikan pada klien browser di bawah 5 detik
greetings Marcus haiyaa Marcus
November 1st, 2008 18:48 November 1, 2008 18:48
i try to do that but this message appeared saya mencoba untuk melakukan itu, tetapi pesan ini muncul
081101 5:34:51 [ERROR] Fatal error: Please read “Security” section of the manual to find out how to run mysqld as root! 081101 5:34:51 [ERROR] Fatal error: Bacalah "Keamanan" bagian panduan untuk mengetahui cara menjalankan mysqld sebagai root!
081101 5:34:51 [ERROR] Aborting 081101 5:34:51 [ERROR] Aborting
081101 5:34:51 [Note] mysqld: Shutdown complete 081101 5:34:51 [Catatan] mysqld: Shutdown lengkap
what should i do in this case? apa yang harus saya lakukan dalam hal ini?
January 23rd, 2007 00:22 Januari 23, 2007 00:22
[...] If you enable slow queries log of MySQL database server, you will notice that from the slow query log file contains only SQL statements and queries that took more than query_time of 10 seconds to execute or run. [...] Jika Anda mengaktifkan lambat log query database MySQL, Anda akan melihat bahwa dari lambat permintaan file log hanya berisi pernyataan SQL dan permintaan yang membawa lebih dari query_time dari 10 detik untuk menjalankan atau berjalan. This is the default value or query time threshold for log_slow_queries function, which is 10 seconds. Ini merupakan standar nilai atau batas waktu untuk permintaan log_slow_queries fungsi, yakni 10 detik. 10 seconds is way too long for a SQL query to complete, so the value may be too high to capture any meaningful data. 10 detik adalah jalan yang terlalu panjang untuk SQL query sampai selesai, sehingga nilai tersebut mungkin terlalu tinggi untuk menangkap setiap data yang bermakna. You can alter or change the slow query time to lower value or number of seconds. Anda dapat mengubah atau mengganti lambat permintaan waktu untuk menurunkan nilai atau jumlah detik. You can set a new long_query_time in the MySQL configuration file, namely my.cnf or my.ini, normally located in /etc directory. Anda dapat mengatur baru long_query_time di file konfigurasi MySQL, yaitu my.cnf atau my.ini, biasanya terletak di / etc direktori. Simply add the following line to the configuration file: [...] Cukup tambahkan baris berikut ke file konfigurasi: [...]