MySQL进阶03_索引_性能分析

本文介绍了MySQL性能分析的几个关键方法,包括查看SQL操作频率、利用慢查询日志定位低效SQL、使用showprofiles分析SQL执行时间和资源消耗,以及通过EXPLAIN命令理解SQL执行计划。这些技巧有助于提升数据库性能并进行有效的SQL优化。

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

五、性能分析

1.SQL性能分析

# 查看数据库中增删改查的频率
show global status like 'com_______';

2.慢查询日记

定位执行效率比较低的SQL,从而进行优化

慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认10秒)的所有SQL语句的日志。
MySQL的慢查询日志默认没有开启,需要在MySQL的配置文件(/etc/my.cnf)中配置如下信息:

在这里插入图片描述

#配置完毕之后,重启MySQL
#查看慢日记是否开启
show variable like 'slow_query_log';

3.SQL性能分析 - show profiles

show profiles能够在做SQL优化时帮助我们了解时间都耗费到哪里去了。通过have_profiling参数,能够看到当前MysQL是否支持profile操作:

select @@have_profiling

--查看是否开启 默认未开启
select @@profiling
--设置开启
set profiling=1
--执行sql语句后
--查看每一条SQL的耗时基本情况
show profiles;

--查看指定的query_id的SQL语句各个阶段的耗时情况
show profiles for query query_id;

在这里插入图片描述

4.explain执行计划

EXPLAIN或者DESC命令获取MySQL如何执行SELECT语句的信息,包括在SELECT语句执行过程中表如何连接和连接的顺序。

语法

--直接在select语句关键字前加上关键字EXPLAIN/DESC
explain select * from tb_user where id = 1 ;

explain执行计划各个字段的含义

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值