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

相关推荐
泡海椒7 小时前
JQuick-SQL JOIN 查询:连接注册数据集的正确方式
数据库·sql
夜雪一千8 小时前
ShardingSphere 雪花 / UUIDv7 主键分片实战 + SQL 建表示例
数据库·sql
波力海苔夹心脆67510 小时前
C# 正则表达式零基础入门:从“看得懂“到“会用“
经验分享·后端·mysql·正则表达式·c#
l1t11 小时前
测试DuckDB v2.1.0-alpha49002的bignum乘法
数据库·sql·算法·duckdb
Swilderrr11 小时前
论文精读:《Directory-Aware Query and Maintenance in Vector Databases》
笔记·学习
SatanII11 小时前
K8s 存储与配置管理|Volume、ConfigMap、Secret 核心笔记
笔记·rpc·kubernetes
ClouGence12 小时前
数据如何随时可用?广西水牛先生的 MySQL 实时同步实践
数据库·mysql·数据分析
I'mChloe13 小时前
飞牛NAS部署flatnotes实战:Docker、8080端口、Markdown笔记与固定地址访问
笔记·docker·容器
库玛西13 小时前
外部排序全解析:败者树、置换-选择排序与最佳归并树
c语言·数据结构·c++·笔记·考研·算法
摇滚侠13 小时前
《Java并发编程之美》第 2 章 并发编程的其他基础知识 阅读笔记 3
android·java·笔记