查找需要优化的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;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报