天地不仁,以万物为刍狗!

DB2表中统计信息收集及数据重组 转

上一篇 / 下一篇  2007-12-18 00:00:00 / 个人分类:db2

DB2提供了3个命令工具,重组和分析table中的数据:
M:rA&yo Sv&@'_0REORGCHK
@'[ e"Mx!}0REORG
IA_H:wF0RUNSTATITPUB个人空间'r1b9A2X{

6IC!yK!}+[I0在(一)中收集了对象的统计信息,这里,可以用这些统计信息来诊断对象的物理存储了。ITPUB个人空间9v g:Q$z-z!}/S r
具体内容见:http://blog.csdn.net/dlinger/archive/2004/10/12/133178.aspx
e;R]Z1['H0ITPUB个人空间kI[yD#C`9m
2.REORGCHK ,诊断对象的物理存储
4r-`#n9cw2va0
d3WKEo*ti1[Q0>>-REORGCHK----+-------------------------------+----------------------------------+<<ITPUB个人空间%?y/}l:b8q{
| |-UPDATE--| | | .-USER------- .--|ITPUB个人空间 j!wT \3R:P"N$AP0[ ~.T
'--+-CURRENT-+---STATISTICS--' '-ON TABLE--+-SYSTEM-----+--'ITPUB个人空间 S%wxB7~S7s
+-ALL--------+ITPUB个人空间T4B1Kw+j)t
'-table-name-'
+U6uStg1u^3?)D0ITPUB个人空间h;T8EOQs
在UDB的V8版本中增加了on schema 的选项。
x#|}(v|4P0ITPUB个人空间8INj3[5p }
UPDATE STATISTICS:先调用RUNSTATS来对table进行分析,
o2nl:FQS/G#Z+_}sFD0 然后根据分析的统计信息诊断是否需要重组tableITPUB个人空间d:^"ID$\vu jNY
CURRENT STATISTICS:使用现有的统计信息诊断是否需要重组tableITPUB个人空间&|wL6F el
ITPUB个人空间;A@8Ig~&v&k
ON TABLE USER: 当前USER的所有tableITPUB个人空间+`zY#~&C AWKd N'}
ON TABLE SYSTEM:SYSTEM的所有tableITPUB个人空间/gX]4{q U:k XW
ON TABLE ALL: 当前db的所有tableITPUB个人空间#O(^+bCd&u)V
ON TABLE table-name:指定名称的table
,uDX+Y!`vl4uq?Z0ITPUB个人空间@|8{ ?5C
我们分析SYSIBM.SYSTABLES,看看具体的执行结果:
V-R8?,r6PQ:Gs%P0ITPUB个人空间1x7n;p%vHlK
db2 => reorgchk update statistics on table SYSIBM.SYSTABLES
l)| r6R!v5C#C0ITPUB个人空间-F2Al!~XaK
执行 RUNSTATS ....ITPUB个人空间4AuUY S#Z
ITPUB个人空间I4e![t.^{
表统计信息:ITPUB个人空间q.va-@.nC

H-R6v ` at0F1: 100 * OVERFLOW / CARD < 5ITPUB个人空间 n+n;Ph!x0`x-s&ow
F2: 100 * (Effective Space Utilization of Data Pages) > 70ITPUB个人空间0RGk4F5W
F3: 100 * (Required Pages / Total Pages) > 80
&i'd2}FU,p0ITPUB个人空间Qh]%lP#rW-Qn
SCHEMA NAME CARD OV NP FP ACTBLK TSIZE F1 F2 F3 REORGITPUB个人空间VZ(J,of5B*p7UOR
----------------------------------------------------------------------------------------ITPUB个人空间e3GGS mAd
SYSIBM SYSTABLES 2988 0 290 290 - 4774824 0 100 100 ---ITPUB个人空间RT&m@r/y i4s
----------------------------------------------------------------------------------------ITPUB个人空间@Y }o&\
ITPUB个人空间`2E+V G(hQ;Y:f;y,p
索引统计信息:
#G9]+IT'Nn&opoT0
`%d vKZ-y(]M0F4: CLUSTERRATIO 或正常化的 CLUSTERFACTOR > 80
3w4vk0Z g'Jf4Y6zz0F5: 100 * (KEYS * (ISIZE + 9) + (CARD - KEYS) * 5) / ((NLEAF - NUM EMPTY LEAFS) * INDEXPAGESIZE) > 50ITPUB个人空间eXY_Q
F6: (100 - PCTFREE) * ((INDEXPAGESIZE - 96) / (ISIZE + 12)) ** (NLEVELS - 2) * (INDEXPAGESIZE - 96)
#h @(O9B)r9P9F ^q0 / (KEYS * (ISIZE + 9) + (CARD - KEYS) * 5) < 100
P5KM[uS%nU0F7: 100 * (NUMRIDS DELETED / (NUMRIDS DELETED + CARD)) < 20
aM3K}M9d\a0F8: 100 * (NUM EMPTY LEAFS / NLEAF) < 20
6?X7dyO1@^F0ITPUB个人空间5Qk3v(L$KNql
SCHEMA NAME CARD LEAF ELEAF LVLS ISIZE NDEL KEYS F4 F5 F6 F7 F8 REORG
2Y@Pua ~7h9W8X0-------------------------------------------------------------------------------------------------ITPUB个人空间a]_O)mm4Lh Fd/m'Y
表:SYSIBM.SYSTABLESITPUB个人空间6TC*v`B]P M
SYSIBM IBM00 2988 55 0 2 27 42 2988 95 47 3 1 0 -*---
OD6?#r*K0SYSIBM IBM137 2988 18 0 2 4 52 2845 98 51 9 1 0 -----ITPUB个人空间(aV.E^ A(H2}2WU
SYSIBM IBM21 2988 5 0 2 3 26 3 99 73 24 0 0 -----
&}U/b6l$\/]GP0SYSIBM IBM22 2988 5 0 2 3 22 1 100 72 24 0 0 -----ITPUB个人空间 Q ]$\@D+}'\G
SYSIBM IBM23 2988 5 0 2 3 2 1 100 72 24 0 0 -----
N)A]:pN8K)E0SYSIBM IBM78 2988 62 0 2 33 17 2988 95 49 2 0 0 -*---ITPUB个人空间*PW#GN;a+U#_ u
-------------------------------------------------------------------------------------------------
@'nr;X;ua"o[` p%gE0ITPUB个人空间W2x{k0i4P6x*A
CLUSTERRATIO 或正常化的 CLUSTERFACTOR(F4)将指示索引需要
)T0E0~rmCLe0REORG,该索引与基本表不在相同的序列中。当在表中定义了多个索引时,一个或多个索引ITPUB个人空间/HpQPi#W5@
可能被标记为需要 REORG。指定 REORG 顺序的最重要索引。
M.{A3fZ1wTv0ITPUB个人空间%LJ V,Z+?1RX\)Eg:q
使用 ORGANIZE BY 子句和相应的维索引定义的表的名称有 '*'ITPUB个人空间0~ K At^]"] |4z
后缀。维索引的基数等价于表的“活动的块数”统计信息。ITPUB个人空间9xsI%s0?(DP_

v;]$nis ^0
?u A2U j ?1QwZ0先来说明一下上面的信息:
'L q1{.Q,}0
I2o g~Ks0CARD:基表中的数据行数ITPUB个人空间!x3n;m,q5[%j
OV(OVERFLOW): 迁移行的数量ITPUB个人空间+\6Be W&J9s cJN+rc\
NP(NPAGES): 包含数据的page的数量
z0j-gi%m*~| oPJ0FP(FPAGES): 该表总共分配的page数量
(w Jr tsl'w+Q5~0TSIZE:table的实际数据的大小,以字节为单位。
:G!ZD ty6V4[9X0TABLEPAGESIZE:table所在表空间的page size
HbN$^M0F1: 处理溢出行。在溢出行超过总行数的5%时,该报告建议对table进行重组。ITPUB个人空间)`T J-m"n8d Bw i
F2:处理空间使用率。在TSIZE小于等于该表分配总空间的70%时,该报告建议对table进行重组。ITPUB个人空间!F,T$Dank
F3:处理空白页。所谓空白页,就是没有数据的页。当table中空白页大于20%时,该报告建议对table进行重组。ITPUB个人空间/tS E O*U2Zc6T
ITPUB个人空间.k%K$eZ*Ni3Oe5y
LEAF:index上叶节点的数量ITPUB个人空间Y-SY"s&t]
LVLS(LEVELS):index级数ITPUB个人空间b)liq/P"y
ISIZE:index的平均行长。ITPUB个人空间0{!\ Pt"IQLL%I
KEYS:唯一取值的数量ITPUB个人空间/?(~I)[UY9A ga6D
INDEXPAGESIZE:index所在表空间的page sizeITPUB个人空间T1S'}(a%\
PCTFREE:index page中预留空间(%)ITPUB个人空间 b \:Q Z |!h.r5{9BglY
F4:聚簇因子ITPUB个人空间)RX3E T5_!l!l;MU
F5:为index key预留的空间。这个值应小于50%,否则该报告建议对index进行重组
'r? z/N"xR0F6:估算index页的用量,应大于总数的90%,否则该报告建议对index进行重组
Y%S8Gm4F Yl0F7:伪删除RID的数量。应小于总数的20%,否则该报告建议对index进行重组
r4W8?!Q*` NP0F8: 伪空页的数量。应小于总数的20%,否则该报告建议对index进行重组
(Xzm'o{Z,@t#_0
"aJ5A6G6QY \0
1p'j8uU-|;~M9u1x0我们根据报告中REORG的值中有“*”来决定是否对table或index进行数据重组。当然,F1-F8的阀值只是建议值。
a/a'@;v!l/`o_2b4E2l0
.me1}5Wt0n'}3q9A0ITPUB个人空间#Hh0h6x0c8v8T
第三部分,我们将介绍在DB2中如何对数据进行重组。
ITPUB个人空间4{A&SKT A4oy

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-11-24  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 12228
  • 日志数: 273
  • 图片数: 1
  • 文件数: 2
  • 建立时间: 2007-12-01
  • 更新时间: 2008-11-19

RSS订阅

Open Toolbar