别人写的索引拿来研究一下,大家一起看看,
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.感觉像注释,呵呵。不知道就不乱说了:)