pctfree和pctused,initrans,maxtrans,next 

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以上不用了,属于淘汰行列。

CREATE TABLE "LMIS"."RK_YJMINFO_PRODUCTLINE" ( "BARCODE" VARCHAR2(255) NOT NULL ENABLE, "PIC_NO_TOUF" VARCHAR2(11), "TOUFK_NO" VARCHAR2(10) NOT NULL ENABLE, "TOUF_TIME" DATE, "FENBZC_TIME" DATE, "FENB_TIME" DATE, "MAP_TIME" DATE, "TOUF_STATE" VARCHAR2(2), "FENBZC_STATE" VARCHAR2(2), "FENB_STATE" VARCHAR2(2), "MAP_STATE" VARCHAR2(2), "ZCSSX_NO" VARCHAR2(10), "FBSSX_NO" VARCHAR2(10), "MPLOC_NO" VARCHAR2(10), "TUOP_BARCODE" VARCHAR2(10), "SHANGP_ID" VARCHAR2(50), "LOT" VARCHAR2(20), "MAP_XL" NUMBER(10,0), "YEWDJ_NO" VARCHAR2(50), "HUOW_ID" VARCHAR2(50), CONSTRAINT "PK" PRIMARY KEY ("BARCODE", "TOUF_TIME") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 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 "LMIS" ENABLE, SUPPLEMENTAL LOG DATA (ALL) COLUMNS ) 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 "LMIS" ; CREATE UNIQUE INDEX "LMIS"."PK" ON "LMIS"."RK_YJMINFO_PRODUCTLINE" ("BARCODE", "TOUF_TIME") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 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 "LMIS" ; 根据这个Oracle的DDL语句给出创建ClickHouse表的DDL语句
03-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值