1)提高数据的可用性
在一个大对象中如果一个分区不可用,查询可以消除这个分区而不予考虑。
恢复数据也可以更快。现在恢复的时间就只是恢复一个分区所需的时间。
例如下面把把2010年数据的分区离线,使这个分区不可用,可以通过在查询语句中指定分区,不受影响地访问2011年的数据。
甚至根据查询条件,Oracle可以自动进行分区消除。
从下面查询计划的Pstart,Pstop可以看出,分区1已经被排除在查询计划外了。
2)减少管理负担
例如,表中50%的行都是“移植”行,可能想进行修正。为了“修正”移植行,需要重建这个表。
如果有一个100GB的表,就需要表所在的表空间上有额外的100G空闲空间才能使用ALTER TABLE xxx MOVE来执行这个操作。
如果有25个分区,每个分区的大小为4GB,就可以使用ALTER TABLE xxx MOVE PARTITION yyy一个接一个地重建各个分区,只需要少得多的空闲空间。
如果有充足的资源,甚至可以在单独的会话中并行地执行ALTER TABLE MOVE语句,这就很可能会减少整个操作所需的时间。
甚至可能移植行都集中在一个很小的分区子集中,因此,可以只重建一两个分区,而不是重建整个表。
3)改善性能
体现在2个方面:
a) 分区消除:处理查询时不用考虑某些数据分区。
b) 并行操作:例如并行全表扫描和并行索引区间扫描。
在OLTP系统中,不应把分区作为大幅改善查询性能的方法。因为分区消除只有在对大对象全面扫描时才有用,通过分区消除可以只扫描大对象的一部分。OLTP系统一般设计为不会需要进行大对象扫描。
不过通过分区把表的修改分散到多个物理分区上,可以减少竞争,从而提高并发度。
数据仓库系统中,可以充分利用分区带来的好处,包括分区消除,以及使用并行查询来充分使用可用资源。
分享到:
相关推荐
oracle笔记二--plsql 编程oracle笔记二--plsql 编程oracle笔记二--plsql 编程oracle笔记二--plsql 编程oracle笔记二--plsql 编程oracle笔记二--plsql 编程
oracle学习笔记-入门基础-01-张园
Oracle-11g-OCP-051培训笔记Oracle-11g-OCP-051培训笔记Oracle-11g-OCP-051培训笔记Oracle-11g-OCP-051培训笔记Oracle-11g-OCP-051培训笔记
成功之路Oracle11g学习笔记-赵振平 请下载2个附件
│ Oracle学习笔记.pdf │ Oracle学习笔记.wps │ 安装Oracle后myEclipse不能正常使用.txt │ 手工配置listener.ora【避免出现ORA-12514错误】.txt │ 贴子树状态存储结构.jpg │ 贴子树状态存储结构.sql │ ├─01...
精通oracle 10g plsql 编程-学习笔记
oracle11g新特性--通过分区进行优化
韩顺平玩转oracle->plsql编程
Oracle10g学习笔记,Oracle10g学习笔记Oracle10g学习笔记Oracle10g学习笔记Oracle10g学习笔记Oracle10g学习笔记
Oracle编程艺术.pdf oracle 9i&10g 编程艺术 深入体系结构
Oracle.9i&10g;编程艺术深入数据库体系-源代码
oracle-instantclient-basic-11.1.0.1-1.x86_64.rpm
《成功之路:Oracle 11g学习笔记》专为开发人员编写,先引导开发新手熟悉Oracle环境,然后进入数据库开发,并要掌握项目开发中的一些技巧。开发技巧展示是《成功之路:Oracle 11g学习笔记》的一大特色(这一点很值得...
oracleasm-support-2.1.8-1.el6.x86_64.rpm
oracleasm-support-2.1.7-1.el5.x86_64.rpm