查找需要优化的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;
    
posted @   三叶草body  阅读(44)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示