mysql慢查询
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql慢查询,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1894字,纯文字阅读大概需要3分钟。
内容图文
![mysql慢查询](/upload/InfoBanner/zyjiaocheng/879/bdbd015305404e14be76e6f171a719c6.jpg)
开启慢查询对性能有影响,有影响但不是非常大。当发现性能问题时,可以开启一定时间的慢查询,如3天或一周。
为了能作用在所有连接上,可以修改配置文件后,写个批处理(右键属性改为以管理员身份运行),加入到系统的定时任务中,到凌晨自动重启即可。
net stop mysql
net start mysql
文件名:slow_query_log_file
是否开启:slow_query_log
时间限制(秒):long_query_time
数据目录变量:datadir,慢查询生成的日志文件默认是在这个数据目录中
得出的慢查询日志文件中,lock_time(等待锁的时间)和query_time(执行时间)的关系:
- 后者的时间包含了前者。
- 真正的执行时间 = query_time – lock_time
- 而且仅当真正的执行时间query_time – lock_time >= long_query_time的时候,才会记录为慢查询。
慢查询格式:
* 第一行,SQL查询执行的时间
* 第二行,执行SQL查询的连接信息,用户和连接IP
* 第三行,记录了一些我们比较有用的信息,如下解析
Query_time,这条SQL执行的时间,越长则越慢
Lock_time,在MySQL服务器阶段(不是在存储引擎阶段)等待表锁时间
Rows_sent,查询返回的行数
Rows_examined,查询检查的行数,越长就当然越费时间
* 第四行,设置时间戳,没有实际意义,只是和第一行对应执行时间。
* 第五行及后面所有行(第二个# Time:之前),执行的sql语句记录信息,因为sql可能会很长。
分析工具
mysql自带的分析工具mysqldump:
Window下使用的话,先安装perl环境,然后运行bin目录中mysqldumpslow.pl文件:perl mysqldumpslow.pl -h 查看使用帮助
pt工具集:
下载:https://github.com/percona/percona-toolkit
提供一系列mysql的运维工具。以下以pt-query-digest为例
perl pt-query-digest "xx-slow.log",得出结果:
第一部分:整体概要信息
Overall:总共出现多少次查询
Unique:不同的有多少条
Range:日志记录的时间范围
Exec:执行时间,这个值包括了等待锁的时间
Lock:等待锁的时间
Sent:发送的行数
Examine:扫描的行数(M是百万,k是千)
Query size:执行的SQL的长度统计(如当前慢查询日志中,只记录了一条查询语句,则这个值就是这个查询语句字符串的长度)。
QPS:是这个工具预估出来的值,不是准确值
第二部分信息:某些查询在整体中的概要信息
第三部分:就是第二部分中具体到某个sql的信息统计
内容总结
以上是互联网集市为您收集整理的mysql慢查询全部内容,希望文章能够帮你解决mysql慢查询所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。