随笔 - 109  文章 - 1 评论 - 298 trackbacks - 2
<2009年1月>
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567


你是Free Website Counters位顾客

IP地址:

与我联系

搜索

 

常用链接

留言簿(17)

随笔分类(101)

随笔档案(108)

Oracle Database

本人常去的网站

怀旧的我

同事的博客

我儿子

学习—.Net

学习—数据库

学习—综合

积分与排名

  • 积分 - 79674
  • 排名 - 605

最新随笔

最新评论

阅读排行榜

评论排行榜

60天内阅读排行

Oracle中有空闲列表的概念.空闲列表中存储的是可供插入新行的块信息
所以新的行数据只会插入到那些存在于空闲列表中的块.
空闲列表的管理机制与建表时pctfree和pctused参数两个参数有紧密关系.
当一个块第一次开辟的时候,当然是在空闲列表中的.
随着不断地插入行数据,当使用率达到或者超过 1-PCTFREE%的时候,该块从空闲列表中移出.
所以这时候新的行数据不可能再存放到该块中. 那这个剩余的PCTFREE%部分岂不是浪费了,当然不是了.
随着UPDATE 活动的增多,某些存在该块中的行数据的就会变大,变大部分的数据就存放在PCTFREE部分中.

Delete活动,会将行数据从块中抹去,这时候块的使用率可能会低于1-pctfree%, 但是该块还是不会
立即回到空闲列表,也就是该块这时候不会接受新的行数据.  那什么时候该块会重新回到空闲列表中呢?
直到该块的使用率低于PCTUSED%的时候,才会回到空闲列表中,也就是说这时候可以接受新的行数据了.

所以当你的系统有较多的update活动并且行数据的大小变化较大的时候,应该预留较多的pctfree.
例如一个公文审批系统,一个公文在流转的过程中,数据在不断地变大。
对于一个没有update活动的表,可以将其设置为0.如系统中的组织架构表,更新的可能性几乎为0。

如果你想充分地利用块,则将PCTUsed 设置地高一点,以便在发生Delete活动后,快速地回到空闲列表中.

posted on 2007-11-08 20:58 Shark Xu 阅读(923) 评论(0)  编辑 收藏 网摘 所属分类: 数据库

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索
[推荐职位]上海盛大网络招聘架构师



China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接:
 
为汶川地震死难者哀悼!