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:**使用了临时表,可能存在分组、排序、去重等操作

相关推荐
Csvn1 小时前
📊 SQL 入门 Day 9:CTE(公用表表达式)— 让 SQL 像写代码一样优雅
后端·sql
Vect__2 小时前
MySQL 数据类型和约束:从字段设计到表结构建模
数据库·mysql
虹科网络安全2 小时前
艾体宝新闻|从 SQL 注入到服务器接管:CVE-2026-57517 暴露 Web 管理面板的供应链与安全编码风险
服务器·前端·sql
玖玥拾3 小时前
Unity 3D 笔记(十一)UI 框架进阶:栈弹窗交互、BasePanel 基类虚方法、DoTween 界面动画
笔记·3d·unity
FellAveal3 小时前
【Go语言入门学习笔记】Part13.结构体与接口
笔记·学习·golang
学计算机的计算基3 小时前
回溯算法下篇:四道经典题讲透约束剪枝、原地标记、预计算与状态压缩
java·笔记·算法
雷工笔记3 小时前
Ubuntu迁移记录
笔记·ubuntu
一只小菜鸡..3 小时前
Stanford CS144 学习笔记 (九):大师访谈与互联网的未来
笔记·学习
Databend3 小时前
用 QUALIFY 写出更清晰的窗口函数 SQL
数据库·sql·数据分析
十月的皮皮4 小时前
STM32从零到量产开发:四路继电器工业控制模块开发实战笔记(小白视角)
c语言·笔记·stm32·stm32cubemx·hal库