环境: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以上不用了,属于淘汰行列。
分享到:
相关推荐
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 ...
`PCTFREE`和`PCTUSED`分别设置了数据块未使用空间的最小预留比例(10%)和开始写入新数据时已使用空间的最大比例(40%)。`INITRANS`和`MAXTRANS`设定了初始和最大事务数。`STORAGE`子句定义了段的存储参数,如初始...
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 ...
- **PCTFREE** 和 **PCTUSED**:PCTFREE设置块的预留空闲空间,避免行迁移;PCTUSED则定义何时将块放回freelist。 - **INITIAL, NEXT, PCTINCREASE**:定义段的扩展策略,但在局部管理表空间中,通常设置INITIAL=...
参数如PCTFREE、PCTUSED、INITRANS、MAXTRANS、INITIAL、NEXT、MINEXTENTS、MAXEXTENTS和PCTINCREASE等,都直接影响着数据块的更新行为和空间利用率。随着数据的增删,这些参数可能需要调整以适应实际性能需求,此时...
这些选项如PCTFREE、PCTUSED、INITRANS、MAXTRANS等用于控制表的存储和性能,而TABLESPACE指定了表所在的表空间,AS query则允许使用SQL SELECT语句从现有表中创建新表。 通过这个课程,学习者将掌握如何管理和查询...
PCTUSED和PCTFREE分别设置数据块被用到多少百分比时开始记录空闲空间,而INITRANS和MAXTRANS则设定事务初始化和最大事务转换的数目。 - **STORAGE子句** 用于修改集群的存储特性,如初始大小、增量大小等。 **1.2 ...
3. **优化存储参数**:初始创建表时,DBA需预估多个存储参数,如PCTFREE、PCTUSED、INITRANS、MAXTRANS、INITIAL、NEXT、MINEXTENTS、MAXEXTENTS及PCTINCREASE等。随着数据的实际使用情况变化,这些参数可能需要调整...
3. **优化初始存储参数**:在表创建初期设定的存储参数如PCTFREE、PCTUSED、INITRANS、MAXTRANS等,可能随数据增长和使用模式变化而不适用。在线重组结合参数调整,可以优化数据布局,提升更新和查询性能。 4. **...
此外,PCTFREE、PCTUSED、INITRANS、MAXTRANS、STORAGE等参数用于控制表的存储特性和性能,例如初始分配的块大小、后续增长的块大小、最小和最大扩展次数等。 在实际的数据库管理与维护中,除了创建表和设置约束外...
- 表和索引的存储参数:如PCTFREE、PCTUSED、INITRANS、MAXTRANS等,影响数据存储和性能。 5. **备份与恢复**: - 冷备份:关闭数据库时进行的物理备份。 - 热备份:在归档模式下进行的在线备份,不影响数据库...
- **PCTFREE 和 PCTUSED**:这两个参数用于控制空闲空间的管理。 - `PCTFREE`:定义了插入新行时保留的空闲空间比例,有助于减少碎片化。 - `PCTUSED`:定义了删除行后允许的空间利用比例,有助于减少空间浪费。 ...
- `PCTFREE` 和 `PCTUSED` 指定了数据块中可用空间的百分比。 - `INITRANS` 和 `MAXTRANS` 控制了事务数量。 - `PARALLEL (DEGREE 2)` 表示允许并行操作的度数。 - `STORAGE` 子句定义了存储参数,如初始分配...
`tablespace_name`用于指定表所在的表空间,`pctfree`和`pctused`控制块的预留空间,`initrans`和`maxtrans`设置初始和最大事务数,`storage`关键字后跟存储参数,如`initial`、`next`、`pctincrease`、`maxextents`...
- `pctfree` 和 `pctused`: 分别指定空闲百分比和使用百分比。 - `initrans` 和 `maxtrans`: 初始化事务数和最大事务数。 - `storage`: 存储参数配置。 - `logging` 和 `nocache`: 日志记录方式及缓存设置。 ### 2....
- **INITRANS/MAXTRANS**:初始化和最大事务数,控制块上可以有多少个事务。 - **PCTFREE/PCTUSED**:分别用于控制块内预留的空闲空间比例和已使用的空间比例,以优化更新操作和插入操作。 #### Block Space Usage ...
此外,表的存储参数也进行了设置,例如`pctfree`、`pctused`、`initrans`、`maxtrans`和`storage`参数,这些参数影响了表空间的使用效率和性能。例如,`pctfree`定义了数据块中保留的空间比例,而`initrans`和`...
在Oracle数据库管理中,时间维表是一种常见的数据仓库设计元素,用于存储日期相关的详细信息,以便于数据分析和报告。本文档介绍了如何通过存储过程来创建一个时间维表,特别是解决如何确定日期在月份中的周数和年份...
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触发器 #### 背景介绍 在数据库管理与维护过程中,数据完整性至关重要。尤其在大型生产环境中,由于各种...这种方式相比于其他解决方案更加灵活和实用,尤其是在需要对大量表进行监控的情况下。