MySQL查询优化(学习)

1.在MySQL中,如何定位慢查询?

MySQL自带慢日志

2.一个SQL语句执行很慢, 如何分析?

可以采用EXPLAIN 或者 DESC命令获取 MySQL 如何执行 SELECT 语句的信息

3.字段分析

|---------------|-------------------------|-------------------------------------------------------------------|
| id | | |
| select_type | | |
| table | | |
| partitions | | |
| type | 这条sql的连接的类型,性能有好到差 | NULL-->system-->const-->eq_ref-->ref-->range-->index-->all |
| type | system | 查询系统中的表 |
| type | const | 根据主键查询 |
| type | eq_ref | 主键索引查询或唯一索引查询 |
| type | ref | 索引查询 |
| type | range | 范围查询 |
| type | index | 索引树扫描 |
| type | all | 全盘扫描 |
| possible_keys | 当前sql可能会使用到的索引 | |
| key | 当前sql实际命中的索引 | 通过它们两个查看是否可能命中索引 |
| key_len | 索引占用的大小 | 通过它们两个查看是否可能命中索引 |
| ref | | |
| rows | | |
| filtered | | |
| Extra | 额外的优化建议 | 含义 |
| Extra | Using where;Using Index | 查找使用了索引,需要的数据都在索引中能找到,不需要回表查询数据 |
| Extra | Using index condition | 查找使用了索引,但是需要回表查询数据 |

相关推荐
Cory.眼2 分钟前
MySQL语法错误与修正指南
数据库·sql·oracle
LSL666_9 分钟前
Redis值数据类型——sorted set
数据库·redis·缓存·数据类型
supericeice14 分钟前
GraphRAG 和 RAG 的区别:企业知识问答什么时候该升级到 GraphRAG
数据库·知识图谱·rag·graphrag
菜菜小狗的学习笔记15 分钟前
黑马程序员Redis--基础篇
数据库·redis·缓存
是桃萌萌鸭~16 分钟前
Oracle参数db_unique_name详解
数据库·sql·oracle·database
Binary-Jeff18 分钟前
MySQL MVCC 原理解析:Undo Log、ReadView 与版本可见性机制
java·数据库·后端·mysql·spring
bug远离Jemma18 分钟前
MySql基本使用命令记录
数据库·mysql·oracle
Leon-Ning Liu18 分钟前
SQL Server在ldf文件误删的情况下恢复数据库
数据库·sqlserver
专注_每天进步一点点23 分钟前
mysql-connector-j(8.0 及以上版本,包括你使用的 8.3.0)并非采用 GPL 许可证,因此你在项目中引入该依赖时,不需要遵循 GPL 的开源要求(比如开源你的整个项目)
数据库·mysql·apache
await 40428 分钟前
Sql_Server2022企业版安装+SSMS安装
数据库