https://www.2cto.com/database/201806/754717.html
https://my.oschina.net/u/3049601/blog/1829607
MySQL慢查询日志分析
https://www.cnblogs.com/hjqjk/p/Mysqlslowlog.html
EXPLAIN命令分析
EXPLAIN命令是查询性能优化不可缺少的一部分。
使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。
有了执行计划能干嘛?
1.查看表的读取顺序
2.数据读取操作的操作类型
3.那些索引可以被使用
4.实际使用了那些索引
5.表之间的引用
6.每张表有多少行被优化器查询
type列,连接类型。一个好的SQL语句至少要达到range级别。杜绝出现all级别。
key列,使用到的索引名。如果没有选择索引,值是NULL。可以采取强制索引方式。
key_len列,索引长度。
rows列,扫描行数。该值是个预估值。
extra列,详细说明。注意,常见的不太友好的值,如下:Using filesort,Using temporary。