oracle table 參數 之 pctincrease
作者:雨夜孤帆
|
关于pctincrease与空间碎片回收的几点看法 1.PCTINCREASE>0 的时候SMON 会自动合并表空间中的碎片,等于0的时候只能手工回收 2.PCTINCREASE>0 造成extent不一致甚至可能因为几何增长的缘故造成一个next需要的空间太大 3.固定的next且较小可能造成表的存储段太离散,对查询很不利 所以,碎片能合并(回收)但是并不等于能利用: 而造成碎片的原因是因为表的存储的段离散而extent不一致所造成的 一旦PCTINCREASE>0 ,如果next较多会造成很多问题 就算能合并碎片,但是这些空间也不能很好的利用,甚至很可能利用率比较低 很简单的一个例子: 3+4=7 这是smon合并相临碎片 但是这时由于PCTINCREASE>0 的原因,有可能的话,next extent已经为5了 那么,7-5=2这部分就几乎永远浪费了(除非重建表空间) 尽量保持在表空间所有表的next一致,然后PCTINCREASE=0 这样,就算smon不自动合并临近的碎片,这些碎片也能重复利用 如果能定期的手工合并,那当然也是可以的 顺带说点题外话: 这里所说的碎片完全是指表truncate或者drop后释放出来的空间 不是delete后留下来的空间,smon是不能解决delete所浪费的空间的
Pctincrease不只是针对表空间的,一样可以对表进行设置 不过一般来说,对表设置为0。目前我还没有发现对表设置为非0值有任何好处。
|
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9537053/viewspace-555199/
,如需转载,请注明出处,否则将追究法律责任。