当前位置:Gxlcms > 数据库问题 > oracle-表结构分析

oracle-表结构分析

时间:2021-07-01 10:21:17 帮助过:11人阅读

TABLE "CS_GDBZDATA"."ACCT_WORK_REGISTER" ( "CURDATE" VARCHAR2(10) NOT NULL ENABLE, "MWORKBEGINTIME" VARCHAR2(8), "MWORKENDTIME" VARCHAR2(8), "AWORKBEGINTIME" VARCHAR2(8), "AWORKENDTIME" VARCHAR2(8), "NWORKBEGINTIME" VARCHAR2(8), "NWORKENDTIME" VARCHAR2(8), "WEEK" VARCHAR2(1), "WORKFLAG" VARCHAR2(10), "AREATYPE" VARCHAR2(10), "WORKFLAGHK" VARCHAR2(10), "WORKFLAGMC" VARCHAR2(10) ) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "CS_GDBZDATATBS" ; ALTER TABLE "CS_GDBZDATA"."ACCT_WORK_REGISTER" MODIFY ("CURDATE" NOT NULL ENABLE);

 


这些参数涉及到存储过程
一般就默认
可根据业务需求相应变更

PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING

关键字段解释

这时候 PCTFREE 代表着设定为 10 ,意思就是说,当 BLOCK 使用到达 90% 的时候,就不可以在使用了,
这个 BLOCK 应该从 FREELIST 列表中移除 (un-link) 。
为何要保留 10% 的空间呢?
这是为了提供 update 数据时所可能增加的空间使用,如果空间保留的太小,就容易发生 row chaining 。


假设 PCTUSED 为 40 ,代表当我们把水杯的水喝到剩下 40% 以下时,侍者就会知道需要加水了。
如果说 PCTUSED 设的太大,例如70 隐含的意义是,这个杯子的利用率增加,但是侍者频繁的服务造成了负荷 (I/O Overhead) 。
喝水( 如同 DELETE 事务操作 ) ,放回 FREELIST ,加水 ( 如同 INSERT 事务操作 ) 。

INITRANS 指的是一个 BLOCK 上初始预分配给并行交易控制的空间 (ITLs)
MAXTRANS 指的是如果 INITRANS 空间不够用了,就会自动扩展 ITL ,直到最大值也就是 MAXTRANS 值为止

如果你建库的时候写上LOGGING,表时你想在建库及随后的操作语句中记录日志log.
NOCOMPRESS  LOB是对大对象字段LOB不压缩

oracle-表结构分析

标签:一个   chain   reg   pac   tor   操作   iat   ndt   xtran   

人气教程排行