create table 时如何设置合适的存储参数?

create table 时如何设置合适的存储参数?

一般情况下为了省事,创建表时就这么干:
create table tablename
(column1 datatype,
column2 datatype,
column3 datatype);

可是在做开发时,不知
create table tablename
(column1 datatype,
column2 datatype,
column3 datatype)
应该如何调整如下建表参数:
PCTFREE    20
PCTUSED    70
INITRANS   1
MAXTRANS   255
TABLESPACE jf_data
STORAGE   (
      INITIAL     102400
      NEXT        102400
      PCTINCREASE 0
      MINEXTENTS  1
      MAXEXTENTS  102400
);

哪位高手指教一下,不胜感谢……这样确实能带来多大好处?
 
表的参数设置跟开发没有关系,要看数据量有多大,数据增加速度,是主要做查询用还是做insert、update用,建议你刚开始就用默认参数,到有必要的时候再改。
 
对于STORAGE 这部分存储参数
      INITIAL     102400             初始段大小:
      NEXT        102400             当初始段使用满后,对象进行扩展时每次扩展的空间大小
      PCTINCREASE 0                此参数最好为零,否则扩展的空间一次比一次大。
      MINEXTENTS  1                对象可扩展的最小扩展次数
      MAXEXTENTS  102400      对象可扩展的最小扩展次数

其他的参数我也说不太清楚,你可以参考一些书籍,几乎每本书都有对此参数的解释
 
 
PCTFREE,当可用空间大于这个值就认为此块可用,默认是10,你的情况应该是表空间默认为20,加大这个值可以防止行迁移,但如果没有更新操作那可以置为0。
PCTUSED=100-PCTFREE-100*ROWS*(Average row length)/Block size
PCTINCREASE表示下一EXTENT比上一EXTENT要多多少(%),一般为0,表示EXTENT都一样大,对性能有好处,但为0会让SMON丧失自动合并的能力。
MAXEXTENTS 最大扩展数,可能是巧合,你把MAXEXTENTS于 INITIAL,EXTENT置为一样,挺好看。
EXTENT大些做顺序读会快些,但如果是随机读就会浪费内存导致性能下降
posted @ 2011-10-26 20:02  jex  阅读(402)  评论(0)    收藏  举报
编辑推荐:
· 从 Redis 客户端超时到 .NET 线程池挑战
· C23和C++26的#embed嵌入资源指南
· 「EF Core」框架是如何识别实体类的属性和主键的
· 独立开发,这条路可行吗?
· 我在厂里搞 wine 的日子
阅读排行:
· 他没买 iPad,而是花了半年时间,为所有“穷学生”写了个笔记神器
· Visual Studio 现已支持新的、更简洁的解决方案文件(slnx)格式
· 从 Redis 客户端超时到 .NET 线程池挑战:饥饿、窃取与阻塞的全景解析
· 2025年中总结:我想我克服公众演讲的恐惧了,一个社恐分子突破自我的故事
· 3.1k star!推荐一款开源基于AI实现的浏览器自动化插件工具 !
点击右上角即可分享
微信分享提示