查找需要优化的sql语句
慢查询日志:
是一种mysql提供的日志,记录所有执行时间超过某个时间界限的sql的语句。这个时间界限,我们可以指定。在mysql中默认没有开启慢查询,即使开启了,只会记录执行的sql语句超过10秒的语句。
如何启动慢查询日志:
-
方式一: 临时启动慢查询记录日志
注意:先把
mysql关闭后,再执行以上指令启动。进入
cmd开始启动执行:mysqld.exe --safe-mode --slow-query-log通过慢查询日志定位执行效率较低的
SQL语句。慢查询日志记录了所有执行时间超过long_query_time所设置的SQL语句。在默认情况下,慢查询日志是存储到data目录下面的。根据配置文件里面的配置,找到data的存储路径。
![]()
可以通过命令查看慢查询日志的时间:
show variables like 'long_query_time';修改慢查询日志时间:
set long_query_time=1;结论:创建完索引后,索引文件会变大,添加索引会明显的提高查询速度。
-
方式二:通过修改配置文件,添加如下语句
# 低版本mysql log-slow-queries="d:/slow-log" long_query_time=1 # 高版本mysql slow-query-log=1 slow_query_log_file="d:/slow-log" long_query_time=1
**精确记录查询时间: **
使用mysql提供profile机制完成。
profile记录每次执行的具体时间,精确的时间到小数点8位。
-
开启profile机制
执行需要分析的
sql语句(自动记录该sql的时间)set profiling = 1; -
查看记录
sql语句的执行时间:show profiles;注意:不需要分析时,最好将其关闭。
-
关闭profile机制
set profiling=0;


浙公网安备 33010602011771号