oracle怎样按作者分区,Oracle提供了分区技术(汇总帖)

Oracle提供了分区技术(汇总帖)

Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。

Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SEGMENT),可以存放到不同的表空间中。查询时可以通过查询表来访问各个分区中的数据,也可以通过在查询时直接指定分区的方法来进行查询。

分区提供以下优点:

由于将数据分散到各个分区中,减少了数据损坏的可能性;

可以对单独的分区进行备份和恢复;

可以将分区映射到不同的物理磁盘上,来分散IO;

提高可管理性、可用性和性能。

Oracle提供了以下几种分区类型:

范围分区(range);

哈希分区(hash);

列表分区(list);

范围-哈希复合分区(range-hash);

范围-列表复合分区(range-list)。

Oracle的普通表没有办法通过修改属性的方式直接转化为分区表,必须通过重建的方式进行转变,下面介绍三种效率比较高的方法,并说明它们各自的特点。

方法一:利用原表重建分区表。

步骤:

SQL> CREATE TABLE T (ID NUMBER PRIMARY KEY, TIME DATE);

表已创建。

SQL> INSERT INTO T SELECT ROWNUM, CREATED from DBA_OBJECTS;

已创建6264行。

SQL> COMMIT;

提交完成。

SQL> CREATE TABLE T_NEW (ID, TIME) PARTITION BY RANGE (TIME)

2  (PARTITION P1 VALUES LESS THAN (TO_DATE('2004-7-1', 'YYYY-MM-DD')),

3  PARTITION P2 VALUES LESS THAN (TO_DATE('2005-1-1', 'YYYY-MM-DD')),

4  PARTITION P3 VALUES LESS THAN (TO_DATE('2005-7-1', 'YYYY-MM-DD')),

5  PARTITION P4 VALUES LESS THAN (MAXVALUE))

6  AS SELECT ID, TIME from T;

表已创建。

SQL> RENAME T TO T_OLD;

表已重命名。

SQL> RENAME T_NEW TO T;

表已重命名。

SQL> SELECT COUNT(*) from T;

COUNT(*)

----------

6264

SQL> SELECT COUNT(*) from T PARTITION (P1);

COUNT(*)

----------

0

SQL> S

相关文档:

今天在百度上搜索了下oracle写的触发器,感觉还可以。

就收藏咯。

用户表:创建触发器之前首先要创建序列

用户表序列:

create sequence users_seq;

用户表触发器:

create or replace trigger bifer_users_userid_pk

before insert

on users

for each row

begin

select users_seq.nextval into:new.userid from ......

常用的数据库字段类型如下:

字段类型 中文说明 限制条件 其它说明

CHAR 固定长度字符串 最大长度2000 bytes

VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749

NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes

NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes

DATE � ......

查询某列值为null的记录:

select *

from    tablename

where col is null;

查询某列值不为null的记录:

select *

from   tablename

where col is not null;

针对null的+-*/=!=等操作都是null:

null表示不确定的值,两个null表示两个不确定的值、未知的值,因此不存在两个null的相等,� ......

delete 删除一张大表时空间不释放,非常慢是因为占用大量的系统资源,支持回退操作,空间还被这张表占用着。

truncate table 表名 (删除表中记录时释放表空间)

DML 语句:

表级共享锁: 对于操作一张表中的不同记录时,互不影响

行级排它锁:对于一行记录,oracle 会只允许只有一个用户对它在同一时间进行修改操作 ......

Close a Database

When you close a database, Oracle writes all database data and recovery data in the SGA to the datafiles and redo log files, respectively. Next, Oracle closes all online datafiles and redo log files. (Any offline datafiles of any offline tablespaces have been closed already. If you ......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值