DB2表统计信息解析

数据库
本文将为您介绍DB2数据库中如何统计表的各类信息的说明,供您参考,如果您对此有兴趣的话,不妨一看,相信对您会有所帮助。

本文将为您介绍DB2数据库中如何统计表的各类信息的说明,供您参考,如果您对此有兴趣的话,不妨一看,相信对您会有所帮助。

DB2提供了3个命令工具,重组和分析table中的数据:
REORGCHK
REORG
RUNSTAT

在(一)中收集了对象的统计信息,这里,可以用这些统计信息来诊断对象的物理存储了。

2.REORGCHK ,诊断对象的物理存储

>>-REORGCHK----+-------------------------------+----------------------------------+<<
| |-UPDATE--| | | .-USER------- .--|
'--+-CURRENT-+---STATISTICS--' '-ON TABLE--+-SYSTEM-----+--'
+-ALL--------+
'-table-name-'

在UDB的V8版本中增加了on schema 的选项。

UPDATE STATISTICS:先调用RUNSTATS来对table进行分析,
然后根据分析的统计信息诊断是否需要重组table
CURRENT STATISTICS:使用现有的统计信息诊断是否需要重组table

ON TABLE USER: 当前USER的所有table
ON TABLE SYSTEM:SYSTEM的所有table
ON TABLE ALL: 当前db的所有table
ON TABLE table-name:指定名称的table#p#

我们分析SYSIBM.SYSTABLES,看看具体的执行结果:

db2 => reorgchk update statistics on table SYSIBM.SYSTABLES

执行 RUNSTATS ....

表统计信息:

F1: 100 * OVERFLOW / CARD < 5
F2: 100 * (Effective Space Utilization of Data Pages) > 70
F3: 100 * (Required Pages / Total Pages) > 80

SCHEMA NAME CARD OV NP FP ACTBLK TSIZE F1 F2 F3 REORG
----------------------------------------------------------------------------------------
SYSIBM SYSTABLES 2988 0 290 290 - 4774824 0 100 100 ---
----------------------------------------------------------------------------------------

索引统计信息:#p#

F4: CLUSTERRATIO 或正常化的 CLUSTERFACTOR > 80
F5: 100 * (KEYS * (ISIZE + 9) + (CARD - KEYS) * 5) / ((NLEAF - NUM EMPTY LEAFS) * INDEXPAGESIZE) > 50
F6: (100 - PCTFREE) * ((INDEXPAGESIZE - 96) / (ISIZE + 12)) ** (NLEVELS - 2) * (INDEXPAGESIZE - 96)
/ (KEYS * (ISIZE + 9) + (CARD - KEYS) * 5) < 100
F7: 100 * (NUMRIDS DELETED / (NUMRIDS DELETED + CARD)) < 20
F8: 100 * (NUM EMPTY LEAFS / NLEAF) < 20

SCHEMA NAME CARD LEAF ELEAF LVLS ISIZE NDEL KEYS F4 F5 F6 F7 F8 REORG
-------------------------------------------------------------------------------------------------
表:SYSIBM.SYSTABLES
SYSIBM IBM00 2988 55 0 2 27 42 2988 95 47 3 1 0 -*---
SYSIBM IBM137 2988 18 0 2 4 52 2845 98 51 9 1 0 -----
SYSIBM IBM21 2988 5 0 2 3 26 3 99 73 24 0 0 -----
SYSIBM IBM22 2988 5 0 2 3 22 1 100 72 24 0 0 -----
SYSIBM IBM23 2988 5 0 2 3 2 1 100 72 24 0 0 -----
SYSIBM IBM78 2988 62 0 2 33 17 2988 95 49 2 0 0 -*---
-------------------------------------------------------------------------------------------------

CLUSTERRATIO 或正常化的 CLUSTERFACTOR(F4)将指示索引需要
REORG,该索引与基本表不在相同的序列中。当在表中定义了多个索引时,一个或多个索引
可能被标记为需要 REORG。指定 REORG 顺序的最重要索引。

使用 ORGANIZE BY 子句和相应的维索引定义的表的名称有 '*'
后缀。维索引的基数等价于表的“活动的块数”统计信息。

先来说明一下上面的信息:

CARD:基表中的数据行数#p#
OV(OVERFLOW): 迁移行的数量
NP(NPAGES): 包含数据的page的数量
FP(FPAGES): 该表总共分配的page数量
TSIZE:table的实际数据的大小,以字节为单位。
TABLEPAGESIZE:table所在表空间的page size
F1: 处理溢出行。在溢出行超过总行数的5%时,该报告建议对table进行重组。
F2:处理空间使用率。在TSIZE小于等于该表分配总空间的70%时,该报告建议对table进行重组。
F3:处理空白页。所谓空白页,就是没有数据的页。当table中空白页大于20%时,该报告建议对table进行重组。

LEAF:index上叶节点的数量
LVLS(LEVELS):index级数
ISIZE:index的平均行长。
KEYS:***取值的数量
INDEXPAGESIZE:index所在表空间的page size
PCTFREE:index page中预留空间(%)
F4:聚簇因子
F5:为index key预留的空间。这个值应小于50%,否则该报告建议对index进行重组
F6:估算index页的用量,应大于总数的90%,否则该报告建议对index进行重组
F7:伪删除RID的数量。应小于总数的20%,否则该报告建议对index进行重组
F8: 伪空页的数量。应小于总数的20%,否则该报告建议对index进行重组

我们根据报告中REORG的值中有“*”来决定是否对table或index进行数据重组。当然,F1-F8的阀值只是建议值。
 

责任编辑:段燃 来源: CSDN博客
相关推荐

2010-11-03 15:49:32

DB2删除表

2010-08-16 15:55:37

DB2确定某个表

2010-11-01 12:11:43

DB2表空间

2010-11-01 11:13:57

DB2表管理

2010-08-20 09:44:51

DB2确定某个表

2010-08-20 09:44:51

DB2确定某个表

2010-08-20 09:44:51

DB2确定某个表

2010-08-19 14:54:07

DB2 优化器

2010-11-04 15:43:49

DB2数据统计与分析系

2010-11-01 16:07:22

DB2表空间

2010-11-03 15:35:27

DB2修改表

2009-07-06 17:34:26

远程复制DB2

2010-08-10 16:34:15

2010-09-30 15:17:17

DB2信息目录

2010-08-20 11:16:39

DB2 优化器

2010-11-01 16:38:13

DB2表空间

2010-11-02 14:45:12

DB2创建表空间

2010-11-01 16:44:43

DB2表空间

2010-09-01 11:39:17

DB2聚集目标表

2010-11-03 14:57:44

DB2备份所有表
点赞
收藏

51CTO技术栈公众号