程序员在日常工作中经常要跟mysql打交道,然而查询mysql带来的慢查询问题又非常让人头疼。下面分享一个如何定位mysql中产生了哪些慢查询的方法。
1.执行指令 SHOW VARIABLES LIKE '%query%' 可以查看与查询相关的配置信息。返回的信息里有以下几个重要的参数配置:
(1)slow_query_log 默认是off关闭的,使用时,需要改为on打开,打开后可以记录慢查询的日志
(2)slow_query_log_file 记录的是慢日志的记录文件
(3)long_query_time 默认是10S,每次执行的sql达到这个时长,就会被记录。
通过上述三个参数就可以记录当一条sql语句执行时间超过long_query_time配置的时间后就会存到slow_query_log_file配置的文件目录下。
2.查看慢查询状态
SHOW STATUS LIKE '%slow_queries%'可以查看产生慢查询的数量。
3.修改相关参数
SET GLOBAL slow_query_log = ON;
将默认时间改为1S: SET GLOBAL long_query_time = 1;
设置完需要重新连接数据库,PS:仅在这里改的话,当再次重启数据库服务时,所有设置又会自动恢复成默认值,永久改变需去my.ini中改。
最后:打一个小广告,后续的文章会在微信公众号“程序员之家QAQ”推送,欢迎大家搜索关注~~