1、 大数据量的表,比如大于2GB。一方面2GB文件对于32位os是一个上限,另外备份时间长。 2、 包括历史数据的表,比如最新的数据放入到最新的分区中。典型的例子:历史表,只有当前月份的数据可以被修改,而其他月份只能read-only ORACLE只支持以下分区:tables, indexes on tables, materialized views, and indexes on materialized views 分区对SQL和DML是透明的(应用程序不必知道已经作了分区),但是DDL可以对不同的分区进行管理。 不同的分区之间必须有相同的逻辑属性,比如共同的表名,列名,数据类型,约束; 但是可以有不同的物理属性,比如pctfree, pctused, and tablespaces. 分区独立性:即使某些分区不可用,其他分区仍然可用。 最多可以分成64000个分区,但是具有LONG or LONG RAW列的表不可以,但是有CLOB or BLOB列的表可以。 Oracle分区表和索引是一种高效的数据管理策略,尤其适用于处理大数据量和包含历史数据的表。当表的大小超过2GB,特别是在32位操作系统上,分区能够有效地提高查询性能,减少备份时间,并且便于管理和维护。Oracle支持对表格、表格上的索引、物化视图及其索引进行分区。 分区的透明性意味着SQL和DML操作无需考虑数据是否已分区,应用程序可以正常工作。但在DDL操作时,可以针对不同分区进行精细化管理。逻辑上,所有分区共享相同的表名、列名、数据类型和约束,但物理属性如pctfree(空闲空间百分比)、pctused(使用空间百分比)和表空间可以各异。分区的独立性意味着即使部分分区不可用,其他分区仍能正常服务,提高了系统的可用性和稳定性。 Oracle允许的最大分区数量为64000个,但含有LONG或LONG RAW列的表不支持分区,而CLOB或BLOB列的表则可以。在创建分区表时,可以灵活使用日期格式,例如通过设置NLS_DATE_FORMAT,然后使用RANGE分区方法按日期范围进行分区。示例中展示了如何按照销售日期创建销售记录的分区。 分区键最多可包含16个列,且列可以为空。非分区表可以有分区或非分区索引,而分区表同样可以拥有这两种类型的索引。Oracle提供了多种分区策略: 1. Range Partitioning(范围分区):基于连续的数值范围划分分区,例如按照日期。 2. List Partitioning(列表分区):根据预定义的值列表进行分区。 3. Hash Partitioning(哈希分区):通过计算列值的哈希函数将数据分散到多个分区。 4. Composite Partitioning(复合分区):结合两种或更多种分区策略,如范围-哈希或范围-列表复合分区。 在Range Partitioning中,VALUES LESS THAN子句定义分区边界,MAXVALUE用于指示分区的最高值,包含所有大于前一个分区边界值的数据。插入数据时,只要满足分区条件,数据就会自动进入相应的分区。 通过合理使用分区技术,可以显著优化大数据环境下的查询效率,简化管理和维护,提高系统整体性能。同时,分区有助于实现数据的历史归档和只读访问,确保数据的安全性和一致性。在设计数据库架构时,根据业务需求选择合适的分区策略,对于提升Oracle数据库的效能至关重要。
剩余11页未读,继续阅读
- 粉丝: 0
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- fed54987-3a28-4a7a-9c89-52d3ac6bc048.vsidx
- (177367038)QT实现教务管理系统.zip
- (178041422)基于springboot网上书城系统.zip
- (3127654)超级玛丽游戏源码下载
- (175717016)CTGU单总线CPU设计(变长指令周期3级时序)(HUST)(circ文件)
- (133916396)单总线CPU设计(变长指令周期3级时序)(HUST).rar
- Unity In-game Debug Console
- (3292010)Java图书管理系统(源码)
- Oracle期末复习题:选择题详解与数据库管理技术
- (176721246)200行C++代码写一个Qt俄罗斯方块