mysql 慢查询日志相关参数,及慢sql分析

1.查看当前慢查询日志的开启情况

       

 show variables like '%query%';

 

 

2.查询后主要关注两个参数即可

1)slow_query_log 慢查询日志是否开启,默认为off  

开启慢查询日志set global slow_query_log='ON'         //要有对应权限

2)slow_query_log_file 是记录的慢查询日志文件路径(注意:默认名为主机名.log,慢查询日志是否写入指定文件中,需要指定慢查询的输出日志格式为文件,相关语句为:show variables like ‘%log_output%’;去查看输出的格式)。

3)long_query_time 指定了慢查询的阈值,即如果执行语句的时间超过该阈值则为慢查询语句,才会记录到慢查询日志中,默认值为10秒。如果要做sql分析,可将阈值设为0(在本地)。一般生产上可以设置为1s~3s 看公司具体业务

   语句:set long_query_time=0;

也可以在my.ini中设置指定慢查询的阈值, long_query_time = 阈值

(4)log_queries_not_using_indexes 如果值设置为ON,则会记录所有没有利用索引的查询(注意:如果只是将log_queries_not_using_indexes设置为ON,而将slow_query_log设置为OFF,此时该设置也不会生效,即该设置生效的前提是slow_query_log的值设置为ON),一般在性能调优的时候会暂时开启。

3.慢查询日志分析

 

 quert_time 是执行时间 单位是秒,rows_examined 是扫描行数。主要看这个扫描行数和预估的一致不一致

 

posted @   了悟  阅读(826)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
历史上的今天:
2021-08-03 String 普通字符串转 Base64编码
点击右上角即可分享
微信分享提示