Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3908440
  • 博文数量: 534
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4800
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(534)

文章存档

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(253)

2006年(73)

分类: Oracle

2006-12-20 10:46:19


要形容一個 BLOCK 的運作,我們可以把一個 BLOCK 想成一個水杯。侍者把水倒入放在我們面前的水杯,要多滿呢,我們要求他倒 9 分滿好了,這時候 PCTFREE 代表著設定為 10 ,意思就是說,當 BLOCK 使用到達 90% 的時候,就不可以在使用了,這個 BLOCK 應該從 FREELIST 列表中移除 (un-link) 。為何要保留 10% 的空間呢?這是為了提供 update 資料時所可能增加的空間使用,如果空間保留的太小,就容易發生 row chaining 。

PCTUSED 代表著這杯水什麼時候可以添加,假設 PCTUSED 為 40 ,代表當我們把水杯的水喝到剩下 40% 以下時,侍者就會知道需要加水了。你想想看,如果說在餐廳裡妳每喝一口水侍者就來加水,你會不會覺得很煩,對餐廳來說,也要派很多人不斷幫每桌客人加水,這生意還能做嗎?所以說, PCTUSED 代表著 re-link 回 FREELIST 的意義,如果說 PCTUSED 設的太大,例如 70 好了,代表這杯水你隨便喝一口侍者就要來加水了,這隱含的意義是,這個杯子的利用率增加,但是侍者頻繁的服務造成了負荷 (I/O Overhead) 。 PCTUSED 設小一點,例如 10 ,代表當水喝到剩下 10% 的時候 ( 如同 DELETE 事務操作 ) ,才須要放回 FREELIST ,代表可以加水了 ( 如同 INSERT 事務操作 ) 。

簡單的說,如果希望儲存空間發揮最大使用效益,可以把PCTUSED設大一點,相反的,如果想要提高IO效能,應該把PCTUSED設定小一點。

--------------------------
pctfree是控制一个块什么时候从freelist中移除,
pctused是控制一个块什么时候进入freelist

from : http://www.itpub.net/233546,1.html
阅读(930) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~