10bet网址
MySQL 8.0参考手册
相关文件10bet官方网站 下载本手册 从本手册中摘录

8.8.3扩展说明输出格式

解释声明产生额外的(延长)不属于的信息解释输出,但可以通过发出a来查看显示警告声明后面解释。截至MySQL 8.0.12,可提供扩展信息选择删除代替, 和更新陈述。在8.0.12之前,仅适用于此选择陈述。

信息价值显示警告输出显示优化器如何符合表和列名选择声明,什么选择在应用重写和优化规则的应用之后,以及关于优化过程的其他注意事项。

扩展信息可显示显示警告声明后面解释仅生产选择陈述。显示警告显示其他可解释的陈述的空结果(删除代替, 和更新)。

这是一个延长的例子解释输出:

MySQL>解释选择T1.a,t1.a(从t2中选择t2)从t1 \ g ****************************** 1.行*************************** ID:1 Select_type:主表:T1类型:索引Delact_keys:null键:主键_len:4 ref:null行:4过滤:100.00额外:使用索引*************************** 2.行*************************** ID:2 Select_type:子查询表:T2类型:索引Delact_keys:key:key_len:5 ref:null行:3过滤:100.00额外:使用索引2行,1条警告(0.00秒)MySQL> Show Warnings \ G ***************************1.行***************************级别:注释代码:1003留言:/ *选择#1 * /选择`test`。`t1`a`a`作为'a`,(`测试``,``a`,`测试``````a`((/ * select#2* /选择`test````a`从`的测试```st2`,(`test`.``t1``a`在<临时表>上在哪里((`test`.`t1``a` =`物质化 -  subquery``a`a`a`))))“t1.a(从t2从t2选择t2)``。套装(0.00秒)

因为陈述显示显示警告可能包含特殊标记,以提供有关查询重写或优化器操作的信息,该语句不一定是有效的SQL,而不是要执行的。输出还可以包括行信息提供有关优化器采取的操作的额外非SQL解释性说明的值。

以下列表介绍了可以在显示的扩展输出中显示的特殊标记显示警告

  • 一个自动生成临时表的密钥。

  • expr.

    执行一次表达式(例如标量子查询),并且将结果值保存在内存中以供以后使用。对于由多个值组成的结果,可以创建临时表和<临时表>显示了。

  • <存在>(查询片段

    子查询谓词被转换为一个存在谓词和子查询被转换,使其可以与之一起使用存在谓词。

  • 查询片段

    这是一个内部优化器对象,没有用户意义。

  • 查询片段

    使用索引查找处理查询片段以查找限定行。

  • 状况Expr1.Expr2.

    如果条件为真,请评估Expr1., 除此以外Expr2.

  • expr.

    测试验证表达式不评估的测试空值

  • 查询片段

    使用子查询物化。

  • “物化 - 子查询”。col_name.

    对列的引用col_name.在物以来的内部临时表中,以将结果保持为评估子查询。

  • 查询片段

    使用主键查找处理查询片段以查找限定行。

  • expr.

    这是一个内部优化器对象,没有用户意义。

  • /* 选择#N* /select_stmt.

    选择与非扩展中的行相关联解释输出有一个ID的价值N

  • offer_tables.半加入(inner_tables.

    半轴操作。inner_tables.显示未拔出的表格。看第8.2.2.1节“使用Semijoin转换进行优化和存在的子查询谓词”

  • <临时表>

    这表示创建的内部临时表以缓存中间结果。

当一些表格中const或者系统类型,涉及来自这些表的列的表达式由优化程序提前评估,并且不是显示的语句的一部分。但是,有了格式= json., 一些const表访问显示为一个裁判访问使用const值的访问。