【MySQL进阶】索引(四)<SQL性能分析>

文章介绍了如何通过MySQL客户端查看SQL的执行频次,包括insert、update、delete和select。同时,详细阐述了慢查询日志的启用、配置以及其对长查询时间的记录。此外,文章还提及了profile功能,用于分析SQL执行的时间消耗,以及使用explain或desc命令获取select语句的执行计划,辅助进行查询优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、查看SQL执行频次

  • MySQL客户端连接成功后,通过 show [session | global] status 命令可以提供服务器状态信息,查看当前数据库的insert、update、delete、select的访问频次
  • [session | global]:session当前会话,global全局
  • Com后面加上7个下划线在这里插入图片描述
  • 举例说明在这里插入图片描述

二、慢查询日志

  • 如何查看慢查询日志是否开启
    在这里插入图片描述

  • 慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认:10秒)的所有SQL语句的日志。

  • MySQL的慢查询日志默认没有开启,需要在MySQL的配置文件(/etc/my.cnf)中配置。配置完成后,需要重启MySQL服务器(systemctl restart mysqld

  • 慢查询日志文件所在位置:/var/lib/mysql/localhost-slow.log
    在这里插入图片描述

  • 详细操作步骤如下
    在这里插入图片描述

  • tail动态监控慢查询日志,观察日志输出结构
    在这里插入图片描述

三、profile详情

  • 通过命令 select @@have_profiling; 查看当前MySQL是否支持profile操作
    在这里插入图片描述
  • 通过命令 select @@profiling; 查看当前MySQL是否开启profile操作(默认:未开启),通过 set @@profiling = 1; 命令将profile操作开启
    在这里插入图片描述
  • 通过以下命令能够在SQL优化时帮助我们了解时间耗费到哪里去了
    在这里插入图片描述
  • 举例说明
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

四、explain执行计划【重要】

  • explain或者desc命令获取MySQL如何执行select语句的信息,包括在select语句执行过程中表如何连接和连接的顺序
    在这里插入图片描述

  • 举例说明
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值