mysql记录耗时的sql

mysql可以把耗时的sql或未使用索引的sql都记录在slow log里,供优化分析使用。

1.mysql慢查询日志启用:

mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句,那如何打开mysql的慢查询日志记录呢?

mysql> show variables like 'log_slow_queries';+------------------+-------+| Variable_name | Value |+------------------+-------+| log_slow_queries | OFF | +------------------+-------+1 row in set (0.01 sec)mysql> 
long_query_time=1log-slow-queries=/var/mysql/logs/slow.log

long_query_time

此参数表示的是慢查询的度量时间,单位是秒,最小是1,缺省值是10,凡是执行时间超过long_query_time的sql语句都会记录到慢查询日志中

log-slow-queries[=file_name]

file_name参数可选,缺省值是host_name-slow.log,如果指定了file_name参数的话,mysql就会把慢查询的日志记录到file_name所设定的文件中,如果file_name提供的是一个相对路径,mysql会把日志记录到mysql的data目录中,这个参数只能在配置文件里添加,无法在命令行里执行。

2.将未使用索引查询也记录到slow log中的配置

在mysql的启动配置文件或命令行参数中增加“log_queries_not_using_indexes” 参数就可以把未使用索引查询语句添加到slow log里了。

样例如下:

[root@localhost mysqlsla-2.03]# more /etc/my.cnf [mysqld]datadir=/var/lib/mysqllog_bin=/tmp/mysql/bin-log/mysql-bin.loglog_bin=ONsocket=/var/lib/mysql/mysql.sockuser=mysql# Default to using old password format for compatibility with mysql 3.x# clients (those using the mysqlclient10 compatibility package).old_passwords=1log_slow_queries=/tmp/127_slow.loglong_query_time=1log_queries_not_using_indexes.......
mysql> show variables like 'log_slow_queries';+------------------+-------+| Variable_name | Value |+------------------+-------+| log_slow_queries | ON | +------------------+-------+1 row in set (0.00 sec)mysql> show variables like 'long_query_time';+-----------------+-------+| Variable_name | Value |+-----------------+-------+| long_query_time | 2  | +-----------------+-------+1 row in set (0.00 sec)mysql>

更多相关文章

  1. MySQL系列多表连接查询92及99语法示例详解教程
  2. 《Android和PHP最佳实践》官方站
  3. android用户界面之按钮(Button)教程实例汇
  4. Android(安卓)- Manifest 文件 详解
  5. TabHost与RadioGroup结合完成的菜单【带效果图】5个Activity
  6. Android的Handler机制详解3_Looper.looper()不会卡死主线程
  7. Android(安卓)UI开发第十七篇——Android(安卓)Fragment实例(Lis
  8. Android——Activity四种启动模式
  9. Selector、shape详解(一)

随机推荐

  1. JQuery和Struts实现Ajax文件上传
  2. 用JQuery写的一个简单的验证码功能
  3. 使用jQuery确认对话框防止上的表单回发
  4. Jquery基于ActiveX的批量上传
  5. ie8下jQuery动画没有ie7流畅,是浏览器性能
  6. 使用jquery实现点击按钮弹出层和点击空白
  7. js jquery 关闭弹出页面 并刷新父页面(win
  8. jquery怎么深复制?
  9. jquery done()不能获取外部变量
  10. Fullcalendar:为什么日历在页面上出现两次