DB2访问计划图的说明



我已经使用db2exfmt实用程序为查询生成了一个访问计划,但我无法理解。

请任何人给我解释一下访问计划(比如括号里的数字是什么意思,/--+------\etc)

    Access Plan:
    -----------
    Total Cost:    15.1619
    Query Degree:  1
          Rows 
         RETURN
         (   1)
          Cost 
           I/O 
            |
            3 
         HSJOIN
         (   2)
         15.1619 
            2 
     /-----+------
    4                3 
 TBSCAN           TBSCAN
 (   3)           (   4)
 7.58097          7.58036 
    1                1 
    |                |
    4                3 
 TABLE: DB2INST1  TABLE: DB2INST1
  TABA             TABB
   Q2               Q1

从下往上阅读。每个节点都是为满足查询而执行的操作。TBSCAN意味着扫描整个表格(当您的表格很小时,通常会发生这种情况)。HSJOIN是一个"HashJoin"——用hashmap连接内存中两个表中的行。

让我们看看一个节点

          4
       TBSCAN
       (   3)
       7.58097
          1
          |
          4
   TABLE: DB2INST1.TABA

顶部的"4"是返回的行数下一行"TBSCAN"是所使用的算法(TBSCAN表示表扫描。HSJOIN表示通过hashmap连接)。在DB2中,这被称为"运算符"(3)"是序列号。你可以发现这个查询被分解为4个步骤7.58097是执行该查询到该步骤的累计成本,称为"timerons"。它会根据数据库的配置方式进行调整,优化器会选择一个将此成本降至最低的访问计划底部4是I/O方面的操作成本。

db2exfmt中有很多信息您已经忽略了。但是图形告诉您DB2将如何执行查询。

最新更新