MySQL 中的 EXPLAIN INTO 和 EXPLAIN FOR SCHEMA

今天查看官网blog时发现的两个关于explain特性,对于执行计划的统计信息分析是非常有用的,但是对仅查看SQL的执行计划时并没有什么意义。
原文链接:
https://dev.mysql.com/blog-archive/explain-into-and-explain-for-schema-in-mysql-81-and-82/

解释一下
MySQL 8.1 中引入的 EXPLAIN 的 INTO 子句允许将 EXPLAIN 查询的输出存储在用户变量中,而不是将其返回给客户端。目前仅支持 JSON 格式,但这对于大多数用例来说应该足够了。
通过将 EXPLAIN 输出存储在用户变量中,可以像 MySQL 中的任何其他 JSON 对象一样对待它。这使您能够以编程方式直接从 EXPLAIN 中提取、操作和存储数据到服务器中。

作为例子,我们可以采取这个查询

mysql> SELECT name, quantity FROM orders JOIN items ON orders.item_id = items.id; +-------------+----------+ | name | quantity | +-------------+----------+ | Screwdriver | 23 | | Screwdriver | 1 | | Locket | 17 | | Armoire | 42 | | Armoire | 16 | +-------------+----------+