更新时间:2023-03-17 GMT+08:00

查看执行计划和开销

执行计划显示如何对指代SQL语句的表格进行扫描,分为次序扫描和索引扫描。

SQL语句执行成本为预估的查询时间(查询的语句成本单位是随机的,通常情况下检查对象为磁盘页)。

查看SQL查询的计划和成本,可通过以下方式:

  1. 在“SQL终端”中输入查询或使用已有查询,单击工具栏的来查看解释计划。

    若要查看使用了Analyze的解释计划,单击查询按钮,选择“包含ANALYZE结果”。然后再次单击查询。

    “执行计划”默认在底部的新页签以树形图样式显示。显示支持树形样式和文本样式。

    树形执行计划和Visual Explain中显示的数据可能会有所不同,因为二者执行的参数不同。

    下表展示了使用和未使用Analyze解释计划时所选择的参数和显示的列:

    表1 解释计划选项

    解释计划类型

    参数

    未选择“包含ANALYZE结果”(默认值)

    Verbose、Costs

    Node type、startup cost、total cost、rows、width、additional Info

    选择“包含ANALYZE结果”

    Analyze、Verbose、Costs、Buffers、Timing

    Node type、startup cost、total cost、rows、width、Actual startup time、Actual total time、Actual Rows、Actual loops、Additional Info

    Additional Info列包括谓词信息(过滤谓词和hash条件)、分布键、输出信息以及节点类型信息。

    树形样式将节点划分为16个类型。在树形样式中,每个节点都将以相应类型的图标开头。下表列举了节点类别及相应图标。

    表2 节点类别和图标

    节点类别

    图标

    Aggregate

    Group Aggregate

    Function

    Hash

    Hash Join

    Nested Loop

    Nested Loop Join

    Modify Table

    Partition Iterator

    Row Adapter

    Seq Scan on

    Set Operator

    Sort

    Stream

    Union

    Unknown

    将鼠标悬停在突出显示的单元格上,可以识别负载最重、开销最大、速度最慢的节点。只有树形样式支持单元格突出显示。

    若选择了多个查询,则仅针对最后一个查询显示使用/未使用Analyze的解释计划。

    每次执行一个执行计划,该计划都会在新页签中打开。

    如果丢失连接但对象浏览器中依然保持数据库的连接,会弹出“连接错误”对话框,显示以下内容:

    • ”:重建连接,获取查询计划及开销。
    • ”:断开对象浏览器中的数据库连接。

    执行计划”窗口中的工具栏菜单选项如下:

    工具栏菜单

    图标

    描述

    树形样式

    此图标用于以树形样式查看解释计划。

    文本样式

    此图标用于以文本样式查看解释计划。

    复制

    此图标用于将所选内容从结果窗口复制到剪贴板,支持快捷键Ctrl+C。

    保存

    此图标用于以文本样式保存解释计划。

    有关刷新、SQL预览和搜索栏的具体信息,请参见执行SQL查询

    刷新之后会重新执行Explain/Analyze查询并刷新当前页签显示的计划内容。

    结果显示在“消息”页签中。