原文链接地址
【MySQL优化】--看懂explain_数据库_贾文静-CSDN博客blog.csdn.net![c1b6ee003ab3762647a7b03a39c1b84c.png](https://i-blog.csdnimg.cn/blog_migrate/8c7a153343cee37619e26d641ec5cc1e.jpeg)
explain
explain模拟优化器执行SQL语句,在5.6以及以后的版本中,除过select,其他比如insert,update和delete均可以使用explain查看执行计划,从而知道mysql是如何处理sql语句,分析查询语句或者表结构的性能瓶颈。
作用
1、表的读取顺序
2、数据读取操作的操作类型
3、哪些索引可以使用
4、哪些索引被实际使用
5、表之间的引用
6、每张表有多少行被优化器查询
explain用法
explain+SQL语句即可!
执行计划包含的信息如下
![7e4794abf78b135908188ed851160ee3.png](https://i-blog.csdnimg.cn/blog_migrate/c76878a3721c7b6fe6f44f22c211c72a.jpeg)
![59e7cabb279374e368928ca804ce2752.png](https://i-blog.csdnimg.cn/blog_migrate/4fa2bab92c6aaf7ffc38c24168d0ad0e.jpeg)
![62a17b8af11ada62a7997fc4b9103f94.png](https://i-blog.csdnimg.cn/blog_migrate/0e44f6e1fb3a4f6af85a3c9ba40b7356.jpeg)
![21d5569c0c60d04d79215fd2a55f8474.png](https://i-blog.csdnimg.cn/blog_migrate/1b3f058632e0e6a72bc8cbb43b4cd073.jpeg)
SQL执行顺序
想要优化SQL,必须清楚知道SQL的执行顺序,这样再配合explain才能事半功倍!
完整SQL语句
![bc11e784fc42f7a4bab7e14d85b94adc.png](https://i-blog.csdnimg.cn/blog_migrate/d899ac2e4017f539d72cdd4315b77eba.jpeg)
![0958c02034494881c17c2ecb3ba7ccd1.png](https://i-blog.csdnimg.cn/blog_migrate/13f41997ddd2c2718d1117d9a212863b.jpeg)
![854616a313b3af67468e06a39bd6b394.png](https://i-blog.csdnimg.cn/blog_migrate/29f4427f70c42ba8bf0afd8f488b1d30.jpeg)
extend
extended关键字:仅对select语句有效,在explain后使用extended关键字,可以显示filtered列显示了通过条件过滤出的行数的百分比估计值。
也可以通过show warnings显示扩展信息,输出中的 Message值SHOW WARNINGS显示优化程序如何限定SELECT语句 中的表名和列名, SELECT应用重写和优化规则后的外观,以及可能有关优化过程的其他说明。
总结
本文主要是讲解如何看懂explain的分析结果,想要真正提升MySQL优化技能,还需要不断的练习!
MySQL Documentationdev.mysql.com mysql explain用法和结果的含义www.cnblogs.com Mysql调优之Explain extendblog.csdn.net![fb36010c0b0c2a293cfe47fe98e7c5ea.png](https://i-blog.csdnimg.cn/blog_migrate/dc0f4b3e939455fff2670553af2efc3e.jpeg)