oracle表storage,讲解Oracle创建表时Storage参数具体含义

讲解Oracle创建表时Storage参数具体含义

http://www.souzz.net/html/database/ORACLE/38170.html

本文通过图表和实例的阐述在Oracle数据库创建新表时Storage的参数具体含义。 图表阐述 可用于:表空间、回滚段、表、索引、分区、快照、快照日志 建议PCTINCREASE参数设置为0,可使碎片最小化,使每一个Extent都相同(等于NEXT值) 一旦建立了某个对象,它的INITIAL和M

本文通过图表和实例的阐述在Oracle数据库创建新表时Storage的参数具体含义。

图表阐述

可用于:表空间、回滚段、表、索引、分区、快照、快照日志

建议PCTINCREASE参数设置为0,可使碎片最小化,使每一个Extent都相同(等于NEXT值)

一旦建立了某个对象,它的INITIAL和MINEXTENTS参数不能修改(Oracle 816中可修改MINEXTENTS参数)

对于NEXT和PCTINCREASE的任何修改都只影响后来分配的那些Extent

在分配一个新Extent时,系统直接按NEXT的值分配一个Extent,

然后用公式:前一NEXT值*(1+PCTINCREASE/100) 计算出下一个应该分配的Extent的大小,

并把计算结果保存到相关数据字典的NEXT_EXTENT列上,做为下一个应该分配的Extent的大小。

CREATE TABLE test(a number)

STORAGE(

INITIAL 100K

NEXT 100K

MINEXTENTS 2

MAXEXTENTS 100

PCTINCREASE 100);

解释:

初始给test表分配两个Extent,

第一个Extent是100K,因INITIAL=100K;

第二个Extent是100K,因NEXT=100K;

如果因表内数据增长,需要分配第三个Extent,因PCTINCREASE是100,则

第三个Extent是200K=100K+100K;

第四个Extent是400K=200K+200K。

可通过数据字典表DBA_TABLES、ALL_TABLES、USER_TABLES查看参数设置情况,如:

select table_name,initial_extent,next_extent,

min_extents,max_extents,pct_increase from user_tables;

TABLE_NAME INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE

---------- -------------- ----------- ----------- ----------- ------------

TEST  106496  212992  2 100  100

相关文档:

两种时间转换格式

plsql>

select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;

select date‘'2005-01-01’ from dual;

按规定格式 获得系统时间 如下:

select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual

or

select to_char(sysdate,'yyyy-MM-dd) from dual

or

se ......

(一)实现分页及性能

Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。

分页查询格式:

SELECT * from

(

SELECT A.*, ROWNUM RN

from (SELECT * from TABLE_NAME) A

WHERE ROWNUM <= 40

)

WHERE RN >= 21

其中最内层的查询SELECT * from TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM & ......

虽然自己学习Java也还一段时间了,也连过一些数据库,比如说mysql,那已是好长之前的事了,但是呢,Oracle我就从未连过,尽管我学习Oracle也有一段时间了,嘿嘿,今天就尝试了一盘,真的觉得,所有的东西,都要自己尝试才行啊。

首先是写好了连接: ......

Oracle提供Wrap工具,可以用于加密你的Package等.

不过需要注意的是,加密后的代码无法解密,你需要保管好你的源代码。

以下是个例子:

1.源代码

create or replace function get_rowid

(l_rowid in varchar2)

return varchar2

is

ls_my_rowid varchar2(200);

rowid_type number;

ob ......

刚才在EYGLE的博客中看到一篇帖子,讲的是DELETE的操作流程,很简短,同时也精辟。

===================================================================================

Oracle中,一个Delete操作的流程

删除(DELETE)

1.Oracle读Block到Buffer Cache(如果该Block在Buffer中不存在)

2.在redo log buffer中记录delet ......

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值