我使用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
Run Code Online (Sandbox Code Playgroud)
小智 5
从下往上阅读.每个节点都是为满足查询而完成的操作.TBSCAN意味着扫描整个表格(通常在您的表格较小时进行).HSJOIN是一个'Hash Join' - 使用hashmap连接内存中两个表的行.
我们来看一个节点
4
TBSCAN
( 3)
7.58097
1
|
4
TABLE: DB2INST1.TABA
Run Code Online (Sandbox Code Playgroud)
顶部'4'是返回的行数.下一行'TBSCAN'是使用的算法(TBSCAN表示表扫描.HSJOIN表示通过hashmap连接).在DB2中,这称为'运算符''(3)'是序列号.您可以发现此查询被分解为4个步骤7.58097是执行此查询到此步骤的累积成本,称为"计时器".它根据数据库的配置方式进行调整,优化器将选择最小化此成本的访问计划.底部4是I/O操作的成本.
您省略了db2exfmt的更多信息.但该图表告诉您DB2将如何执行查询.
| 归档时间: |
|
| 查看次数: |
3175 次 |
| 最近记录: |