`
beckshanling
  • 浏览: 260895 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

pctfree和pctused,initrans,maxtrans,next 

阅读更多

环境:oracle 10g,表格处于自动段空间管理的表空间上.
    
       主题:讨论建表的几个参数,和表格以及文件的增长方式.
       
       一)对于倾向于查询的应用系统而言,或者是倾向于查询的表格,那么pctfree设置为1左右,已经足够了,之所以不这只为0, 是为了以防万一,不过对于某些绝对不可能修改的系统而言,设置为0也是可以的。 
       由于默认的pctfeee是10,所以,如果设置为新值0,或者1,那么可以节省将近10%的空间,而且读盘的速度也会更快一些。例如pctfeee=0,那么原来放在100个extent上的数据,现在只要在90个extent上就可以了.
       例如,创建一个很简单的表格:
        -- Create table
        create table test_space
        (
          Name varchar2(24) not null
        )
        tablespace CRMII
          pctfree 0
          initrans 2
          storage
          (
            initial 64K
            next 1K
            minextents 1
            maxextents unlimited
          );
        -- Add comments to the columns
        comment on column test_space.Name          is '姓名';
      二)由于oracle建议我们使用extent management local segment space managment auto ,所以,我们以后建立表格的时候,注意pctfree即可。所以对于永久表格而言,pctused基本上可以进入历史舞台了, 因为临时表并没有storage参数部分(虽然我相信,oracle会使用类似的参数管理临时表).
    
       三)  作为一个基本的常识,了解initrans还是很有必要的。IniTrans,用于每个块中处理行级锁事务的初始表是1,索引是2,如果同一块有很多行被并发更新等操作时,建议增加该值对于serializable 隔离级,至少设置为3。但是事实上,不适宜去修改默认的值,因为事务需要在块上面写事务条目信息,这意味着,initrans越大,需要消耗的空间越大,时间也越长。
     
      四)maxtrans ,在老版本上是为了控制最大并发事务,但是新版本已经自动这么处理了,如果需要的话也可以设置,这个参数和pctused一样,基本上是可淘汰的

     总结:
     1)   pctfree 很重要,但对于查询系统基本上可以设置为0
    2)   pctused 基本可以淘汰
    3)   initrans  ,很重要,但如果不是特别设置,不要去修改。
    4)   maxtrans ,至少10g以上不用了,属于淘汰行列

分享到:
评论

相关推荐

    bbs论坛项目运用SSH框架Oracle数据库编写的一个简单示列项目

    pctfree 10 pctused 40 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited ); -- Create/Recreate primary, unique and foreign key constraints alter table USERS ...

    oracle emp, dept, salgrade 建表语句

    `PCTFREE`和`PCTUSED`分别设置了数据块未使用空间的最小预留比例(10%)和开始写入新数据时已使用空间的最大比例(40%)。`INITRANS`和`MAXTRANS`设定了初始和最大事务数。`STORAGE`子句定义了段的存储参数,如初始...

    常用的Oracle SQL 语句

    PCTFREE 5 PCTUSED 90 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 512k NEXT 512k PCTINCREASE 0 MINEXTENTS 1 MAXEXTENTS 999), PARTITION WDZW21 VALUES LESS THAN (200000) PCTFREE 5 PCTUSED 90 INITRANS 1 ...

    Oracle表的类型及定义[归类].pdf

    - **PCTFREE** 和 **PCTUSED**:PCTFREE设置块的预留空闲空间,避免行迁移;PCTUSED则定义何时将块放回freelist。 - **INITIAL, NEXT, PCTINCREASE**:定义段的扩展策略,但在局部管理表空间中,通常设置INITIAL=...

    贝塔斯曼商业案例研究

    参数如PCTFREE、PCTUSED、INITRANS、MAXTRANS、INITIAL、NEXT、MINEXTENTS、MAXEXTENTS和PCTINCREASE等,都直接影响着数据块的更新行为和空间利用率。随着数据的增删,这些参数可能需要调整以适应实际性能需求,此时...

    3.1 Oracle模式对象(1).ppt

    这些选项如PCTFREE、PCTUSED、INITRANS、MAXTRANS等用于控制表的存储和性能,而TABLESPACE指定了表所在的表空间,AS query则允许使用SQL SELECT语句从现有表中创建新表。 通过这个课程,学习者将掌握如何管理和查询...

    sql命令参考 命令解析

    PCTUSED和PCTFREE分别设置数据块被用到多少百分比时开始记录空闲空间,而INITRANS和MAXTRANS则设定事务初始化和最大事务转换的数目。 - **STORAGE子句** 用于修改集群的存储特性,如初始大小、增量大小等。 **1.2 ...

    DBControlOnline技术白皮书(含贝塔斯曼案例)

    3. **优化存储参数**:初始创建表时,DBA需预估多个存储参数,如PCTFREE、PCTUSED、INITRANS、MAXTRANS、INITIAL、NEXT、MINEXTENTS、MAXEXTENTS及PCTINCREASE等。随着数据的实际使用情况变化,这些参数可能需要调整...

    针对oracle的在线重组与优化

    3. **优化初始存储参数**:在表创建初期设定的存储参数如PCTFREE、PCTUSED、INITRANS、MAXTRANS等,可能随数据增长和使用模式变化而不适用。在线重组结合参数调整,可以优化数据布局,提升更新和查询性能。 4. **...

    Oracle数据库管理与维护大作业整理.pdf

    此外,PCTFREE、PCTUSED、INITRANS、MAXTRANS、STORAGE等参数用于控制表的存储特性和性能,例如初始分配的块大小、后续增长的块大小、最小和最大扩展次数等。 在实际的数据库管理与维护中,除了创建表和设置约束外...

    oracle教学ppt

    - 表和索引的存储参数:如PCTFREE、PCTUSED、INITRANS、MAXTRANS等,影响数据存储和性能。 5. **备份与恢复**: - 冷备份:关闭数据库时进行的物理备份。 - 热备份:在归档模式下进行的在线备份,不影响数据库...

    oracle新手入门指导之一——数据库表空间知识.txt

    - **PCTFREE 和 PCTUSED**:这两个参数用于控制空闲空间的管理。 - `PCTFREE`:定义了插入新行时保留的空闲空间比例,有助于减少碎片化。 - `PCTUSED`:定义了删除行后允许的空间利用比例,有助于减少空间浪费。 ...

    oracle分区操作文档

    - `PCTFREE` 和 `PCTUSED` 指定了数据块中可用空间的百分比。 - `INITRANS` 和 `MAXTRANS` 控制了事务数量。 - `PARALLEL (DEGREE 2)` 表示允许并行操作的度数。 - `STORAGE` 子句定义了存储参数,如初始分配...

    oracle里常用命令之三

    `tablespace_name`用于指定表所在的表空间,`pctfree`和`pctused`控制块的预留空间,`initrans`和`maxtrans`设置初始和最大事务数,`storage`关键字后跟存储参数,如`initial`、`next`、`pctincrease`、`maxextents`...

    Oracle常用的和表(Table)相关的命令

    - `pctfree` 和 `pctused`: 分别指定空闲百分比和使用百分比。 - `initrans` 和 `maxtrans`: 初始化事务数和最大事务数。 - `storage`: 存储参数配置。 - `logging` 和 `nocache`: 日志记录方式及缓存设置。 ### 2....

    存储结构与关联

    - **INITRANS/MAXTRANS**:初始化和最大事务数,控制块上可以有多少个事务。 - **PCTFREE/PCTUSED**:分别用于控制块内预留的空闲空间比例和已使用的空间比例,以优化更新操作和插入操作。 #### Block Space Usage ...

    Oracle数据库管理与维护大作业.docx

    此外,表的存储参数也进行了设置,例如`pctfree`、`pctused`、`initrans`、`maxtrans`和`storage`参数,这些参数影响了表空间的使用效率和性能。例如,`pctfree`定义了数据块中保留的空间比例,而`initrans`和`...

    图解使用ORACLE存储过程创建时间维表.doc

    在Oracle数据库管理中,时间维表是一种常见的数据仓库设计元素,用于存储日期相关的详细信息,以便于数据分析和报告。本文档介绍了如何通过存储过程来创建一个时间维表,特别是解决如何确定日期在月份中的周数和年份...

    Oracle高级队列(AQ)

    storage_clause => 'TABLESPACE QUEUE_TS PCTUSED 0 PCTFREE 30 INITRANS 30 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0 BUFFER_POOL DEFAULT )' ); END; ``` ...

    创建监控表的DML的触发器-0422

    ### 创建监控表的DML触发器 #### 背景介绍 在数据库管理与维护过程中,数据完整性至关重要。尤其在大型生产环境中,由于各种...这种方式相比于其他解决方案更加灵活和实用,尤其是在需要对大量表进行监控的情况下。

Global site tag (gtag.js) - Google Analytics