mysql笔记—sql性能分析

1.查看数据库各个语句的执行频次

复制代码
show global/session status like 'com__'

2.慢查询

默认没有开启,需要手动开启(在/etc/my.cnf中开启)

开启后在localhost-slow.log中可以查询到慢查询的语句的相关信息:

3.explain

用法:直接在dql语句前面加explain


解释:

1.id:id越大越先执行,id相同越靠前越先执行

2.select type

表示 SELECT 的类型,常见的取值有SIMPLE(简单表,即不使用表连接或者子查询)、PRIMARY(主查询,即外层的查询)、UNION(UNION中的第二个或者后面的查询语句)、SUBOUERY(SELECT/WHERE之后包含了子查询)等

3.type

表示连接类型,性能由好到差的连接类型为NULL、system、const(主键等唯一索引)、eq_ref、ref(非唯一索引)、range、index(全索引扫描)、all(全表扫描)

4.possible_key

可能用到的索引

5.Key

实际使用的索引,如果为NULL,则没有使用索引

6.Key_len

表示索引中使用的字节数,该值为索引字段最大可能长度,并非实际使用长度,在不损失精确性的前提下,长度越短越好

7.extra

一些额外信息:

**Using index:**用了覆盖索引,也就是说,查询所需的数据可以直接从索引中获取

**Using index condition:**用了部分覆盖索引,但是所需要的数据不能完全从索引中获取

**Using where:**使用了where,但是无法通过覆盖索引直接查找到

**Using temporary:**使用了临时表,可能存在分组、排序、去重等操作

相关推荐
吃着火锅x唱着歌18 分钟前
Effective C++ 学习笔记 条款38 通过复合塑模出has-a或“根据某物实现出”
c++·笔记·学习
syagain_zsx22 分钟前
库制作与原理 · 链接知识笔记
c语言·c++·笔记·动态库·静态库
caimouse27 分钟前
mm学习笔记_04:VAD树算法与地址空间分配
笔记·学习·算法·reactos
智者知已应修善业31 分钟前
【使用D触发器74HC175实现0001 0011 0111 1111 1110 1100 1000的循环彩灯电路。】2025-4-28
驱动开发·经验分享·笔记·硬件架构·硬件工程
龙仔7259 小时前
人大金仓KingbaseES V8 手动单库备份&恢复操作笔记
数据库·笔记·oracle·人大金仓
zhangrelay11 小时前
消费电子原装锂电池服役8–20年且健康度>40%公开实测案例完整调研分析报告
笔记·学习
疯狂打码的少年11 小时前
【软件工程】软件测试:黑盒测试(等价类/边界值/因果图)
笔记·软件工程
宠友信息11 小时前
消息序号如何保证即时通讯源码聊天记录稳定加载
java·spring boot·redis·python·mysql·uni-app
圣光SG11 小时前
Java Web入门基础知识笔记
java·前端·笔记
Csvn11 小时前
📊 SQL 入门 Day 6:多表查询 — JOIN 的四种姿势
后端·sql