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)    收藏  举报
编辑推荐:
· AES 加密模式演进:从 ECB、CBC 到 GCM 的 C# 深度实践
· InnoDB为什么不用跳表,Redis为什么不用B+树?
· 记一次 C# 平台调用中因非托管 union 类型导致的内存访问越界
· [EF Core]聊聊“复合”属性
· 那些被推迟的 C# 14 特性及其背后的故事
阅读排行:
· 博客园出海记-开篇:扬帆启航
· 微软开源的 MCP 教程「GitHub 热点速览」
· 记一次 .NET 某汽车控制焊接软件 卡死分析
· 关于布尔类型的变量不要加 is 前缀,被网友们吐槽了,特来完善下
· C#中的多级缓存架构设计与实现深度解析
点击右上角即可分享
微信分享提示