这是我参与11月更文挑战的第5天,活动详情查看:2021最后一次更文挑战
知识梳理
总结这周讲的内容,大概就是《Java开发手册》中的日期时间、集合处理、并发处理、控制语句以及Oauth2
MySQL Explain使用技巧(凑字数)
1、Explain介绍
MySQL提供了一个EXPLAIN全集,它可以对SELECT语句的执行计划进行分析,并输出SELECT执行的详细信息,以供开发人员针对性优化.
使用explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看.
可能通过explain命令深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用.
EXPLAIN命令用法十分简单,在SELECT语句前加上explain就可以了,例如:
explain select * from user;
2、参数说明
EXPLAIN命令的输出内容如下:
各列的含义如下:
- id:SELECT查询的标识符,每个SELECT都会自动分配一个唯一的标识符
- select_type:SELECT查询的类型
- table:查询的是哪个表
- partitions:匹配的分区
- type:join类型
- possible_keys:此次查询中可能选用的索引
- key:此次查询中确切使用到的索引
- ref:哪个字段或常数与key一起被使用
- rows:显示此查询一共扫描了多少行,是一个估计值
- filtered:表示此查询条件所过滤的数据的百分比
- extra:额外的信息