科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道理解 DB2 中的列组统计信息

理解 DB2 中的列组统计信息

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

DB2 SQL 优化器(后文简称为优化器)可以估计每个备选访问计划的执行成本,并根据其估计结果选择一个最佳访问计划。一个访问计划可以指定用来解析一条 SQL 语句的操作次序。

来源:IT专家网 2008年6月3日

关键字: IBM 数据库 DB2

  • 评论
  • 分享微博
  • 分享邮件
表 B.5 列统计信息

COLNAME COLCARD HIGH2KEY LOW2KEY
DEPTNUMB 8 66 15
MANAGER 8 270 30
DEPT 8 66 15
ID 35 340 20

3. 计算基数估计值。

等式连接谓词的过滤因子的估计值计算如下:

1/max(colcard_LHS,colcard_RHS).

其中 LHS 在连接谓词的左边,RHS 在连接谓词的右边。本例中有以下两个连接谓词:

P1: org.manager=staff.id
P2: org.deptnumb=staff.dept

以及过滤因子(ff),P1 和 P2 计算如下:

ff(P1) = 1 / max (8,35) = 1/35 = 0.0285714
ff(P2) = 1/max(8,8) = 1/8 = 0.125

使用过滤因子以及两个表的基数估计值,连接基数计算如下:

JoinCard  = Cardinality(ORG) * cardinality(STAFF) * ff(P1) * ff(P2)
          = 35 * 8 * 0.0285714 * 0.125
          = 1

4. 在连接中标识父表。

在表 B.5 中,列统计信息显示 STAFF 是连接的父表,因为符合以下条件:

对于谓词 org.manager=staff.id:

colcard(MANAGER)  < colcard(ID)
high2key(MANAGER) < high2key(ID)
low2key(MANAGER) > low2key(ID)

因此,这个谓词的父表是 STAFF。

对于谓词 org.deptnumb=staff.dept,colcard、high2key 和 low2key 统计信息是等同的。因此,这个谓词不存在父表,它应被视为“中立”。

5. 在父表中收集列组统计信息。

在步骤 4 中,STAFF 被标识为连接的父表,ORG 被标识为连接的子表,所以应在 STAFF 表的列(ID,DEPT)中收集列组统计信息:

RUNSTATS ON TABLE <SCHEMA_NAME>.STAFF ON ALL COLUMNS AND COLUMNS ((ID,DEPT));

使用这两个列的列组统计信息,DB2 优化器就可以准确地估计出基数:

               8  
             TBSCAN 
             (   2) 
             33.5658 
               2 
               |
               8
              SORT   
             (   3) 
             33.4243 
               2 
               |
               8
             HSJOIN 
             (   4) 
             33.0363 
                2 
          /-----+-----\
       35                8 
     TBSCAN           TBSCAN 
     (   5)           (   6) 
     17.2334          15.3736 
        1                1 
       |                |
       35                8 
 TABLE: SKAPOOR  TABLE: SKAPOOR 
      STAFF             ORG


示例 B.6 中立连接

考虑 T1 和 T2 这两个表的连接,使用以下谓词:

    
P1: T1.C1 = T2.C1
P2: T1.C2 = T2.C2
P3: T1.C3 = T2.C3

假设这两个表具有以下的统计信息:

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章