不介绍。对于列式组织表的访问,通过如下的示例SQL,可以看到执行计划也会发生相应:
示例SQL:
SELECT? ? ? ? ? ?
? EMPNO,? ? ? ? ?
? ACTNO,? ? ? ? ?
? CHAR(EMSTDATE, USA),
? CHAR(EMENDATE, USA)
FROM? ? ? ? ? ? ? ? ?
? DB2inst1.EMPPROJACT
WHERE? ? ? ? ? ? ? ?
? EMPNO IN? ? ? ? ? ?
? (SELECT? ? ? ? ? ?
? ? EMPNO? ? ? ? ? ?
? FROM? ? ? ? ? ? ?
? ? db2inst1.EMPLOYEE
? WHERE? ? ? ? ? ? ?
? ? WORKDEPT='E11'? ?
? )? ?
新的 CTQ 计划运算符表示列组织数据处理与行组织数据处理之间的转变,捕获列组织表说明信息的步骤与用于针对行组织表运行性能查询的步骤相同。
db2 set current explain mode explain
执行测试SQL语句
db2exfmt -d sample -1 -o output.exfmt
获取的执行计划信息如下:
Access Plan:
-----------
? ? ? ? Total Cost:? ? ? ? ? ? 71.9656
? ? ? ? Query Degree:? ? ? ? ? 1? ? ?
? ? ? ? ? ? ? ? ? Rows
? ? ? ? ? ? ? ? RETURN
? ? ? ? ? ? ? ? (? 1)
? ? ? ? ? ? ? ? ? Cost
? ? ? ? ? ? ? ? ? I/O
? ? ? ? ? ? ? ? ? |?
? ? ? ? ? ? ? ? 12.1667
? ? ? ? ? ? ? ? CTQ? ?
? ? ? ? ? ? ? ? (? 2)?
? ? ? ? ? ? ? ? 71.9656
? ? ? ? ? ? ? ? 10.5689
? ? ? ? ? ? ? ? ? |? ?
? ? ? ? ? ? ? ? 12.1667
? ? ? ? ? ? ? ? ? HSJOIN
? ? ? ? ? ? ? ? (? 3)
? ? ? ? ? ? ? ? 71.9606
? ? ? ? ? ? ? ? 10.5689
? ? ? ? ? /-------+-------\
? ? ? ? 73? ? ? ? ? ? ? ? ? 7
? ? ? TBSCAN? ? ? ? ? ? ? TBSCAN
? ? ? (? 4)? ? ? ? ? ? ? (? 5)
? ? ? 40.1348? ? ? ? ? ? 31.8243
? ? ? 5.89474? ? ? ? ? ? 4.67416
? ? ? ? |? ? ? ? ? ? ? ? ? |
? ? ? ? 73? ? ? ? ? ? ? ? ? 42
?CO-TABLE: DB2INST1? CO-TABLE:DB2INST1
? ? EMPPROJACT? ? ? ? ? EMPLOYEE
? ? ? ? Q2? ? ? ? ? ? ? ? ? Q1
可以看到,对列式组织表访问多了一个叫CTQ的访问计划,表示将数据从按行组织的数据处理传递至按列组织的数据处理的按列组织的表队列。并且从CO-TABLE信息可以判定,两表均为列组织表,以上是一个简单的执行计划,当然实际应用SQL比较复杂,但是通过这些信息还是可以判断的,在此就不做详细的案例分析。