MySQL---SQL优化上(explain分析执行计划、查看SQL的执行效率、定位低效率SQL)

文章介绍了如何检查MySQL的SQL执行效率,包括使用showsession/globalstatus命令查看服务器状态,通过慢查询日志定位低效SQL,以及使用showprocesslist监控SQL执行。此外,文章还详细解释了EXPLAIN命令在分析查询计划中的作用,如id、select_type、type、key和extra列的含义,帮助优化查询性能。

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

1. 查看SQL的执行效率

MySQL 客户端连接成功后,通过 show [session|global] status 命令可以查看服务器状态信息。通

过查看状态信息可以查看对当前数据库的主要操作类型

--下面的命令显示了当前 session 中所有统计参数的值
show session status like 'Com_______';  -- 查看当前会话统计结果
show global  status  like 'Com_______';  -- 查看自数据库上次启动至今统计结果
 
show status like 'Innodb_rows_%’;       -- 查看针对Innodb引擎的统计结果

 2. 定位低效率执行SQL

可以通过两种方式定位执行效率较低的 SQL 语句:

慢查询日志 : 通过慢查询日志定位那些执行效率较低的 SQL 语句。

show processlist:该命令查看当前MySQL在进行的线程,包括线程的状态、是否锁表等,可以实

时地查看 SQL 的执行情况,同时对一些锁表操作进行优化。

-- 查看慢日志配置信息 
show variables like '%slow_query_log%’; 

-- 开启慢日志查询 
set global slow_query_log=1;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三月七꧁ ꧂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值