您的位置:首页 > 数据库 > MySQL

如何定位mysql中执行很慢的sql 语句

2014-03-04 14:31 471 查看
mysql 的慢日志对系统性能的影响和作用,并说明怎么去定位慢sql,并根据日志的相关特性得出相应的优化思路
慢日志带来的直接性能损耗就是数据库系统中最为昂贵的I/O资源。对于mysql 数据库来说,I/O 出现瓶颈,会导致
连接数增大、锁表、更有可能导致业务访问失败,尤其是在高并发下面。开启慢查询的目的是分析慢sql 来优化sql
语句,从而解决慢sql引起的各种问题。
1.开启慢查询日志功能很简单,在my.cnf 配置文件中,加入以下参数:
slow_query_log=1 #启用慢查询
slow_query_log_file=mysql.slow #慢查询的存储位置
long_query_time=2 #指定慢查询的记录时间比如这里大于2s sql 会记录下来
2.当数据库的连接数很高时,此时注意,可通过监控软件观察时间点,然后把这一时间点的日志截取出来分析
sed -n '/#Time:130227 14:26:45/,/end/p' mysql.slow >slow.log
3.通过mysqldumpslow 命令取出耗时最长的前10条慢sql 进行分析
#mysqldumpslow -s t -t 10 slow.log

本文出自 “好学力行” 博客,请务必保留此出处http://eagleheart.blog.51cto.com/775380/1367528
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: