mysql slow query log及应用

mysql有个slow query log功能就是记录运行比较慢的sql语句到日志里面,通过这个日志可以对数据库运行状态进行分析或者数据库调优。

默认不会开起这个参数,在启动数据库时候加入log-slow-queries和log-slow-time(秒)来开启slow query log。一般来说是修改my.cnf,增加两行:      log_query_time = 1
log-slow-queries = /var/PATH/slow.log
long_query_time 是指执行超过多久的sql会被log下来,这里是1秒。log-slow-queries 日志记录的位置,可以为空,系统会给一个缺省的文件host_name-slow.log。      日志可以记录到文件或者是数据表,或者同时记录到文件和数据表中。

在实际应用中如果发现系统很慢的时候,在分析排除了其他相关问题后,就可以打开slow query log给予一个合适的时间点记录日志。运行一段时间,然后可以分析这些比较慢的语句发现存在的问题。

浏览日志可以通过mysql自带的工具mysqldumpslow

下面简单介绍一下这个工具的参数

-s,是排序方法,后面可以带c,t,l,r和ac,at,al,ar等数值,分别指按照query次数,时间,lock的时间和返回