如何在mysql查找效率慢的SQL语句

2025-03-22 15:38:42
推荐回答(2个)
回答1:

  • 查看慢SQL是否启用,查看命令:show variables like 'log_slow_queries'; 

    如果结果为ON则是开启了,如果为OFF则表示禁用了。

  • 开启慢查询命令:set global log_slow_queries = on;    

  • 查看是否开启:show variables like 'log_slow_queries'; 

  • 查看慢查询参数,即设置超过多少秒的查询归为了慢查询。参数为:long_query_time,查询命令: show global  variables like 'long_query_time';

    mysql默认时间为10秒,即10秒及以上的查询被归为了慢查询。我们的实际项目中根本就不可能这么包容你,所以得提供查询效率优化sql,让程序更快的执行。

  • 这里设置时间为1秒,即超过1秒就会被认为慢查询。设置命令:set global long_query_time =1;用命令设置的,会立即生效,不用重启mysql服务。但重启mysql服务后就会失效。

  • 查看设置的时间, show global variables like 'long_query_time';即可看到现在已经变为1秒了

  • 查看慢查询存放日志,命令: show variables like 'slow_query_log_file';

    去相应目录下查看即可。

回答2:

:一、MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句1,slow_query_log这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。2,long_query_.