vlambda博客
学习文章列表

查看MySQL查询计划的方法和格式

查看MySQL的查询计划是分析查询的重要方法,可以通过使用EXPLAIN语句来确认优化器将采取哪种查询计划,是否与你的预期一致。

如何使用EXPLIAN?使用它有两种方式:

  1. 直接在查询语句之前直接加上EXPLAIN即可。EXPLAIN支持 SELECT,DELETE,INSERT,REPLACE和UPDATE语句。执行EXPLAIN时并没有真正的执行该后面的语句,因此可以安全的查看执行计划。

  2. 查看当前连接的执行计划。当用户发现有一个查询执行了很长时间,用户需要分析执行缓慢的原因,这时可以通过EXPLAIN FOR CONNECTION语句查看当前执行语句的查询计划。用户可以通过sys.session视图里面的conn_id来获得当前查询的连接id。

EXPLAIN的格式。EXPLAIN可以输出四种格式,传统格式,JSON格式,tree格式以及可视化输出。用户可以根据需要选择适用于自己的格式。

  1. 传统格式简单明了,输出是一个表格形式,概要说明查询计划。


  2. JSON格式是四种格式里面输出信息最详尽的格式,里面还会包含执行成本信息。


    查看MySQL查询计划的方法和格式

  3. TREE格式是8.0.16版本之后引入的新格式,主要根据查询的各个部分之间的关系和各部分的执行顺序来描述如何查询。


    查看MySQL查询计划的方法和格式

  4. 可视化输出,可以通过MySQL Workbench可视化查看MySQL的执行计划。通过点击Workbench的放大镜图标,即可生成可视化的查询计划。

    查看MySQL查询计划的方法和格式



上面的内容是关于查看执行计划的方法和输出格式,关于查询计划的输出内容,今后将找时间写一篇专题!

感谢您关注“MySQL解决方案工程师”!