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