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 | 查找使用了索引,但是需要回表查询数据 |

相关推荐
爬山算法2 小时前
Redis(158)Redis的主从同步问题如何解决?
数据库·redis·缓存
2501_941148155 小时前
多语言微服务架构与边缘计算技术实践:Python、Java、C++、Go深度解析
数据库
w***z505 小时前
MYSQL 创建索引
数据库·mysql
章鱼哥7306 小时前
[特殊字符] SpringBoot 自定义系统健康检测:数据库、Redis、表统计、更新时长、系统性能全链路监控
java·数据库·redis
5***E6856 小时前
MySQL:drop、delete与truncate区别
数据库·mysql
记得记得就1516 小时前
【MySQL数据库管理】
数据库·mysql·oracle
Austindatabases7 小时前
给PG鸡蛋里面挑骨头--杭州PostgreSQL生态大会
数据库·postgresql
秃了也弱了。7 小时前
MySQL空间函数详解,MySQL记录经纬度并进行计算
android·数据库·mysql
星环处相逢7 小时前
MySQL数据库管理从入门到精通:全流程实操指南
数据库·mysql
h***04778 小时前
SpringBoot集成Flink-CDC,实现对数据库数据的监听
数据库·spring boot·flink