孤尽T31训练营-第三周总结

250 阅读1分钟

这是我参与11月更文挑战的第5天,活动详情查看:2021最后一次更文挑战

知识梳理

总结这周讲的内容,大概就是《Java开发手册》中的日期时间、集合处理、并发处理、控制语句以及Oauth2

image-20211117230244752.png

MySQL Explain使用技巧(凑字数)

1、Explain介绍

MySQL提供了一个EXPLAIN全集,它可以对SELECT语句的执行计划进行分析,并输出SELECT执行的详细信息,以供开发人员针对性优化.

使用explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看.

可能通过explain命令深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用.

EXPLAIN命令用法十分简单,在SELECT语句前加上explain就可以了,例如:

explain select * from user;

2、参数说明

EXPLAIN命令的输出内容如下:

image-20211117231257475.png 各列的含义如下:

  • id:SELECT查询的标识符,每个SELECT都会自动分配一个唯一的标识符
  • select_type:SELECT查询的类型
  • table:查询的是哪个表
  • partitions:匹配的分区
  • type:join类型
  • possible_keys:此次查询中可能选用的索引
  • key:此次查询中确切使用到的索引
  • ref:哪个字段或常数与key一起被使用
  • rows:显示此查询一共扫描了多少行,是一个估计值
  • filtered:表示此查询条件所过滤的数据的百分比
  • extra:额外的信息