mysql单条sql的性能_单条sql性能分析与优化

本文介绍了如何使用MySQL的explain和show profiling命令来深入分析SQL执行计划和性能。通过设置profiling为1来开启性能剖析,然后查看sql执行步骤及耗时。通过查询information_schema.profiling表可以获取更详细的执行信息,包括每个状态的总耗时、占比、执行次数等,从而定位性能瓶颈并进行优化。
摘要由CSDN通过智能技术生成

性能分析

1. explain 查看sql执行计划,得出索引使用情况等信息

2. show profiling 查看sql所有执行步骤以及用时,使用步骤如下

1)开启性能剖析

mysql> set profiling = 1;

2)执行你要查询的sql

3)查看性能剖析接收到的sql以及耗时

mysql> show profiles;

4)查看sql执行的详细步骤耗时(这里query后的id是步骤3中的QUERY_ID)

mysql> show prifile for query 1;

5)这样可能可阅读性不强,不容易观察出耗时最多的步骤以及执行次数等

mysql> set @query_id = 1;

mysql>

SELECT state, SUM(duration) AS total_r, round(100 * SUM(duration) / (

SELECT SUM(duration)

FROM information_schema.profiling

WHERE QUERY_ID = @query_id

), 2) AS pct_r, COUNT(*) AS calls, SUM(duration) / COUNT(*) AS ffp

FROM information_schema.profiling

WHERE QUERY_ID = @query_id

GROUP BY state

ORDER BY total_r DESC;

这样就可以清晰看到sql语句耗时在哪些步骤

性能优化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值