前言
explain命令是查看查询优化器如何决定执行查询的主要方法。
这个功能有局限性,并不总会说出真相,但它的输出是可以获取的最好信息,值得花时间去了解,因为可以学习到查询是如何执行的。
调用EXPLAIN
在select之前添加explain,mysql会在查询上设置一个标记,当执行查询计划时,这个标记会使其返回关于执行计划中每一步的信息,而不是执行它。
它会返回一行或多行信息,显示出执行计划中的每一部分和执行次序。
这是一个简单的explain效果:
在查询中每个表在输出只有一行,如果查询是两个表的联接,那么输出中将有两行。
别名表单算为一个表,因此,如果把一个表与自己联接,输