更新时间:2022-12-08 GMT+08:00

图形化查看执行计划和开销

Visual Explain计划从扩展JSON格式中获取信息,以图形化方式显示SQL查询。这有助于优化查询以增强查询和服务器性能,有助于分析数据库所用的查询路径,并找出最拥挤,开销最高和运行最慢的节点。

图形化执行计划展示了SQL语句所引用的表是如何被扫描的(普通顺序扫描和索引扫描)。

SQL语句的执行开销取决于其运行时长(可使用任意开销单位度量,但是通常以磁盘中每页的抓取数计算。)

Costliest:“Self Cost”最高的计划节点。

Heaviest: 输出行数最大的计划节点被认为是最拥挤的计划节点。

Slowest:所需执行时间最长的计划节点。

按照以下步骤以图表形式查看所需SQL查询的计划和成本:

  1. 在“SQL终端”页签输入查询或使用现有查询,然后单击工具栏中的

    显示“可视化计划分析”窗口

    如果在获取执行计划和开销的过程中丢失连接,请参见查看执行计划和开销获取关于重新连接选项的具体信息。

    • 1 - 一般信息”:显示查询详情。
    • 2 - 可视化解释计划”:以图形化方式显示所有节点,如开销最高、最拥挤的和最慢的计划节点。单击每个计划节点可查看节点详情。
    • 3 - 属性 - 一般”:以毫秒为单位提供查询的执行时间。
    • 4 - 属性 - 所有节点”:提供所有节点信息。

      字段名

      说明

      Node Name

      显示节点名称。

      Analysis

      显示各节点的分析信息。

      RowsOutput

      显示计划节点输出的行数。

      RowsOutput Deviation (%)

      显示预估的输出行数和计划节点实际的输出行数之间的偏差百分比。

      Execution Time (ms)

      显示查询在计划节点上的执行时间。

      Contribution (%)

      显示查询在计划节点上的执行时间占整个查询执行时间的百分比。

      Self Cost

      显示在计划节点上执行查询的“Total Cost”,即为所有子节点的总开销。

      Total Cost

      显示在计划节点上执行查询所消耗的总成本。

    • 5 - 属性 - 执行计划”:显示所有节点上的执行信息。

      列名

      说明

      节点名称

      节点名称

      实体名称

      对象名称

      开销

      计划节点执行时间

      计划节点输出行数

      循环

      每个节点执行的循环数

      宽度

      计划节点输出行的平均宽度估算值(以字节为单位)

      实际行数

      计划节点输出行数的估算值

      实际时间

      计划节点的实际执行时间

    • 6 - “计划节点 - 一般”:显示各节点信息。

      行名

      描述

      Output

      显示计划节点返回的字段信息。

      Analysis

      显示开销最大、最慢和最拥挤的计划节点分析信息。

      RowsOutput Deviation (%)

      显示预估的输出行数和计划节点的实际输出行之间的偏差百分比。

      Row Width (bytes)

      显示预估的计划节点输出行的平均宽度(单位:字节)。

      Plan Output Rows

      显示计划节点输出的行数。

      Actual Output Rows

      显示预估的计划节点输出行数。

      Actual Startup Time

      计划节点生成第一条记录所耗费的执行时间。

      Actual Total Time

      显示计划节点的实际执行时间。

      Actual Loops

      显示该节点执行的迭代数。

      Startup Cost

      显示计划节点输出第一条记录所耗费的时间。

      Total Cost

      显示查询在计划节点上的执行时间。

      Is Column Store

      表示表的存储方式(列或行存储)。

      Shared Hit Blocks

      显示缓存命中的共享块数量。

      Shared Read Blocks

      显示从缓存读取的共享块数量。

      Shared Dirtied Blocks

      显示缓存中弄脏的共享块数量。

      Shared Written Blocks

      显示缓存写入的共享块数量。

      Local Hit Blocks

      显示缓存命中的局部块数量。

      Local Read Blocks

      显示从缓存读取的局部块数量。

      Local Dirtied Blocks

      显示缓存中弄脏的局部块数量。

      Local Written Blocks

      显示缓存写入的局部块数量。

      Temp Read Blocks

      显示从缓存读取的临时块数量。

      Temp Written Blocks

      显示缓存写入的临时块数量。

      I/O Read Time (ms)

      显示该节点执行任意I/O读操作的耗时。

      I/O Write Time (ms)

      显示该节点执行任意I/O写操作的耗时。

      Node Type

      显示计划节点的类型。

      Parent Relationship

      显示与父节点的关系。

      Inner Node Name

      子节点名称

      Node/s

      无需输入,将从属性中移除。

      根据计划节点类型可以显示其他信息。举例如下:

      计划节点

      其他

      Partitioned CStore Scan

      表名、表别名和模式名

      Vector Sort

      排序键

      Vector Hash Aggregate

      分组键

      Vector Has Join

      Join类型和Hash条件

      Vector Streaming

      分布键和Spawn On

    • 7 - 计划节点 - DN详情:为每个节点提供详细的DN信息。只有在从DN收集数据时,DN详情”才可用。

      有关复制和搜索工具栏选项的说明,请参阅查看表数据