首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > IBM DB2 >

别人写的索引拿来研究一下,大家一起看看,解决办法

2012-04-05 
别人写的索引拿来研究一下,大家一起看看,CREATE INDEX ECC_SFM.FIX_AUD_ACLID_IDXON ECC_SFM.FIX_AUTO_

别人写的索引拿来研究一下,大家一起看看,
CREATE INDEX ECC_SFM.FIX_AUD_ACLID_IDX 
  ON "ECC_SFM"."FIX_AUTO_DOCUMENT" 
("ACL_ID" ASC 

  PCTFREE 10 
  DISALLOW REVERSE SCANS; 
#SYNC 10; 
COMMENT ON INDEX ECC_SFM.FIX_AUD_ACLID_IDX 
  IS '服务单维修员索引'; 
#SYNC 20; 
RUNSTATS ON TABLE ECC_SFM.FIX_AUTO_DOCUMENT 
  FOR INDEX ECC_SFM.FIX_AUD_ACLID_IDX 
  SHRLEVEL REFERENCE; 
#SYNC 30; 


有几个不懂的地方,也都google了一下,但还都不大懂。先发上来,明天再说。 

A.PCTFREE 10 
http://fbirdzp.itpub.net/post/5714/454549 说是PCTFREE的总结,粗粗看了一下,还是不大明白 
B.DISALLOW REVERSE SCANS;每次创建的时候明确指定DISALLOW REVERSE SCANS,然后两个索引一个升序一个降序,是能成功的,我测试通过了 
可以一次建立两个索引,这样的话一个语句是建了两个索引的? 
http://www.itpub.net/archiver/tid-785603.html DB2的索引的讨论贴。感觉怪牛的 

C.RUNSTATS 
主要就是在搜集统计信息 
  http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0412pay/ DB2官方对runstats的解释。 
这里还是不大懂 
D.#SYNC 10,20,30 这个是什么玩意?没有google到

[解决办法]
我只能解释RUNSTATS 统计信息收集有助于加速查询速度 主要是为优化器服务的
在频繁读写表对象上 经过RUNSTATS和未经过RUNSTATS的在查询速度上的差距是明显的
[解决办法]
A.PCTFREE在oracle和DB2中的解释还是有差异的,你看的那个是oracle的。
在DB2中,PCTFREE告诉DB2在装载或重组数据时,表空间或索引中的每个页要留出多少百分比的空余空间。如果没有足够的空余空间来按照恰当的顺序(也就是按群集顺序)编写行或索引,那么DB2就必须将多出的数据放到另一个页上。当越来越多的记录被乱序存放时,性能就会出现问题。 
具体你可以看这个帖子:http://www.sudu.cn/info/html/edu/20080402/256629.html
B.索引的问题那个帖子讲得比较清楚了,使用ALLOW REVERSE SCANS时,索引可以被反向检索,但并不是创两个索引那么简单,这里就不多说了。
C.1楼说得不错;
D.感觉像注释,呵呵。不知道就不乱说了:)

热点排行