设为首页 加入收藏

TOP

我用DB2的这几年(七)(一)
2011-04-21 17:52:27 来源: 作者: 【 】 浏览:40170次 评论:0

系统运行一段时间以后,用户抱怨某些操作响应速度过慢;这个在项目前期没有出现过类似问题,因此怀疑是数据量过大造成的原因。但是,查询相关业务表中仅仅只有3万多的的数据量,不足以构成影响程序响应速度过慢的瓶颈。更奇怪的是采用导入的方法将此表数据装载进来却没有发现上述现象,我百思不得其解。

 

几天后,无意间翻阅一本杂志,其中有这么一段话——“每当SQL语句被发送到到DB2 数据库管理器中处理时,SQL 优化器会去读取系统编目表来确定被引用的列的特性以及在被引用的表中时候已经定义了索引,同时被语句引用的每个表的大小也包括在内。根据这些得到的信息,优化器可以估算出能满足SQL语句需要的每一种数据存取路径的成本,然后推荐最佳的一个。 优化器用于做决策的数据库统计集合数据在系统编目表中是一个关键性的元素。所以,统计的变化可能导致选择存取路径的变化;如果信息丢失或过时,优化器也许选择出来的存取计划将导致SQL语句执行时间比正常的要长。例如,一个删除操作可能留下以后不能再使用的空的数据页面。对各种长度的字段进行更新可能导致新的字段值不适合在同一个数据页面中存放。这将导致某些行被移动到不同得页面并且在表里产生内部空隙或者未使用空间。因此,DB2不得不去读取更多的物理页面来取回应用程序所需要的数据”。结合前面遇见的这个问题,该操作所涉及的物理表的确是经常进行增删改操作的,是不是因为这个原因呢?刚好前段时间学习过关于表重组和运行统计的内容,知道DB2有runstats和reorg工具来完成表的运行统计和重组。于是我就做了以下试验:

---1首先检查是否要重新组织数据

reorgchk current statistics on table db2admin.t_ckd

 

得到表的统计信息和索引的统计信息显示如下:

--------------------------------------

表统计信息:

 

表统计信息:

 

F1: 100 * OVERFLOW / CARD < 5

F2: 100 * TSIZE / ((FPAGES-1) * (TABLEPAGESIZE-76)) > 70

F3: 100 * NPAGES / FPAGES > 80

 

CREATOR   NAME        CARD    OV    NP    FP    TSIZE  F1  F2 F3 REORG

--------------------------------------------------------------------------------

DB2ADMIN  T_CKD            1     0     1    12        9   0    0   8   -**

--------------------------------------------------------------------------------

 

索引统计信息:

 

F4: CLUSTERRATIO 或正常化的 CLUSTERFACTOR > 80

F5: 100 * (KEYS * (ISIZE+8) + (CARD-KEYS) * 4) / (NLEAF * INDEXPAGESIZE) > 50

F6: (100-PCTFREE) * (INDEXPAGESIZE-96) / (ISIZE+12) ** (NLEVELS-2) * (INDEXPAGESIZE-96) / (KEYS * (ISIZE+8) + (CARD-KEYS) * 4) < 100

 

CREATOR  NAME       CARD  LEAF  LVLS ISIZE   KEYS   F4   F5  F6 REORG

--------------------------------------------------------------------------------

表:DB2ADMIN.T_CKD

DB2ADMIN XAK1T_CKD        1     1     2    28      1  100    -  +++  ---

DB2ADMIN XIE1T_CKD         1     1     1    10      1  100    -    -   ---

DB2ADMIN XIE2T_CKD         1     1     1    10      1  100    -    -   ---

DB2ADMIN XIE3T_CKD         1     1     1     4 

Tags:我用 DB2 责任编辑:admin
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇没有了 下一篇我用DB2的这几年(六)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

最新文章

热门文章

推荐文章

相关文章