有时发觉程式执行很慢, 其中一个要检查的地方是数据库。MySQL 可以将执行过的 SQL 语句全部纪录下来, 或者可以只是将执行慢的 SQL 语句纪录下来, 这样对于 MySQL 语句的 Debug 就轻松很多了。
要纪录执行慢的 SQL 语句, 可以透过修改 my.cnf 完成, my.cnf 多数在以下位置:
/etc/my.cnf
/etc/mysql/my.cnf
先开启 my.cnf, 在 [mysqld] 段落加入以下几行:
|
1 2 3 |
slow_query_log = 1 slow_query_log_file = /var/log/mysql-slow.log long_query_time = 2 |
以上几行的意思分别是:
slow_query_log = 1
开启纪录执行慢的 SQL 语句:
slow_query_log_file = /var/log/mysql-slow.log
设定纪录档的位置在 /var/log/mysql-slow.log
long_query_time = 2
设定当 SQL 语句执行时间超过 2 秒时, 便会将 SQL 语句储存。
修改好 my.cnf 后, 重新启动 MySQL 便完成了。
No Responses