如今,Oracle数据库以其高可靠性、安全性、可兼容性,得到越来越多的企业的青睐。如何使Oracle数据库保持优良性能,这是许多数据库管理员关心的问题,笔者建议不妨针对以下几个方面加以考虑。
分区
根据实际经验,在一个大数据库中,数据库空间的绝大多数是被少量的表所占有。为了简化大型数据库的管理,改善应用的查询性能,一般可以使用分区这种手段。所谓分区就是动态地将表中的记录分离到若干不同的表空间上,使数据在物理上被分割开来,便于维护、备份、恢复、事务及查询性能。当使用的时候可建立一个连接所有分区的视图,使其在逻辑上仍以一个整体出现。
1. 建立分区表:
Create table Employee (
EmpNo varchar2(10) primary key,
Name varchar2(30),
DeptNo Number(2)
)
Partition by range(DeptNo)
( partition PART1 values less than (11)
tablespace PART1_TS,
partition PART2 values less than (21)
tablespace PART2_TS,
partition PART3 values less than (31)
tablespace PART3_TS
partition PART4 values less than (MAXvalue)
tablespace PART4_TS
). |
表Employee依据DeptNo列进行分区。
2. 分区索引:
Create index Employee_DeptNo on
Employee(DeptNo) local (
partition PART1 tablespace PART1_NDX_TS,
partition PART2 tablespace PART2_NDX_TS,
partition PART3 tablespace PART3_NDX_TS,
partition PART4 tablespace PART4_NDX_TS,
). |
当分区中出现许多事务并且要保证所有分区中的数据记录的惟一性时采用全局索引,在建立全局索引时,Global子句允许指定索引的范围值,这个范围值可以不同于表分区的范围值。只有建立局部索引才会使索引分区与表分区间建立起一一对应关系。因此,在大多数情况下,应该使用局部索引分区。若使用了此索引,分区就能够很容易地将索引分区与表分区建立关联,局部索引比全局索引更易于管理。
3. 分区管理:
根据实际需要,还可以使用Alter table 命令来增加、删除、交换、移动、修改、重命名、划分、截短一个已存在分区的结构。
相关文章
Java使用技巧:探讨JAR文件无限可能性
用缓冲技术提高J 应用的性能和稳定性
如何恢复只有完好数据文件的Oracle数据
讲解基于Oracle高性能动态SQL程序开发
怎样保持Oracle数据优良性能的若干诀窍
认识 U备份Oracle时Code29错误的解答
抛砖引玉教你如何成为Java初级程序员
注意那些容易被忽略的SQL注入技巧
软考程序员四大忌
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛