慢查询日志:
是一种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;