网站首页 > 文章中心 > 其它

mysql慢查询怎么看_mysql慢查询日志怎么看

作者:小编 更新时间:2023-09-24 18:05:44 浏览量:20人看过

如何查找MySQL中查询慢的SQL语句

MySQL中如何查看"慢查询",如何分析执行SQL的效率?

开启慢查询日志

mysql set global slow_query_log=1;

定义时间SQL查询的超时时间

查看慢查询日志的保存路径

mysql show global variables like 'slow_query_log_file';

查看慢查询

cat /var/log/mysql/slow.log

如何查看mysql慢查询是否开启

①.,配置开启

Linux:

在mysql配置文件my.cnf中增加

Windows:

使用mysql自带命令mysqldumpslow查看

常用命令

-s ORDER what to sort by (t, at, l, al, r, ar etc), 'at' is default

-t NUM just show the top n queries

-g PATTERN grep: only consider stmts that include this string

s,是order的顺序,说明写的不够详细,包括看了代码,主要有 c,t,l,r和ac,at,al,ar,分别是按照query次数,时间,lock的时间和返回的记录数来排序,前面加了a的时倒序 -t,是top n的意思,即为返回前面多少条的数据 -g,后边可以写一个正则匹配模式,大小写不敏感的

mysqldumpslow -t 10 -s t -g "left join" host-slow.log这个是按照时间返回前10条里面含有左连接的sql语句.

如何开启MySQL慢查询日志

在my.ini中加上下面两句话

log-slow-queries = D:\wamp\mysql_slow_query.log

第一句使用来定义慢查询日志的路径(因为是windows,所以不牵涉权限问题)

第二步:查看关于慢查询的状态

执行如下SQL语句来查看mysql慢查询的状态

show variables like '%slow%';

执行结果会把是否开启慢查询、慢查询的秒数、慢查询日志等信息打印在屏幕上.

第三步:执行一次慢查询操作

SELECT SLEEP(10);

第四步:查看慢查询的数量

通过如下sql语句,来查看一共执行过几次慢查询:

show global status like '%slow%';

mysql如何找出慢sql

long_query_time 参数的查看

默认是10秒,10秒以上的sql会记录.可进行值的修改,

long_query_time 默认不开启 ,如果不是需要进行开始调优,一般不建议开启此参数.

永久开启:

在my.cnf中的

①查看慢查询的时长

看此图默认10秒,是大于10秒,不等于10秒.

临时修改,重启mysql后失效,修改后需要新开连接才能查询到

永久在配制文件中修改

查看慢sql个数

将所有没有使用带索引的查询语句全部写到慢查询日志中

设置没带索引的慢sql进行记录

最后汇总my.cnf配制

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章