|
作者:Nick
|
|
2007-09-26 08:00 |
|
分区的方法 1- range partitioning ; 2- hash partitioning ; 3- composite partitioning 所有的分区的逻辑属性是相同的,但他们的物理属性可以不同。 分区的剪枝 (Partition Pruning) oracle server 可以自动识别分区,根据select 语句所指定的选择条件,只查询有用的分区。如果语句的条件中对分区字段使用了函数,优化器则不能进行分区剪枝,但to_date函数除外。
分区的优点: - VLDB 对于大型的历史数据表及其索引,将其按时间进行分区,分别管理和方便地添加和删除。 对于关键任务数据:分区能降低维护窗口,恢复时间和故障影响,提高有效性。 分区能提高关键表和索引的访问效率。
- 降低计划维护的当机时间 可以只在某个分区上操作,而不是整个表上; 由于分区独立性,操作可以在不同分区上并行执行。
- 降低数据故障引起的当机时间 由于恢复的单位变小了(为分区),所以:执行recover命令的时间降低了; 恢复离线的表空间所需磁盘空间也减少;不可用数据也减少了。
- DSS 性能 可以只作分区扫描而不是全表扫描,提高响应时间;并且能降低排序所需的临时磁盘空间。
- I/O性能 将数据分配到不同的物理设备上,平衡I/O
- 分区透明性
Range partition 适合历史数据的分区,通常按日期
Hash partition 适合于如下情形 性能原因(并行DML,分区剪枝,partition-wise联接) - 事先不知道映射到给定的范围内的数据有多少 - 范围分区的大小差别很大 - 分区剪枝和分区键上的partition-wise联接非常重要 分区数目应是2的乘方(2,4,8,16。。。) 不能合并,删除,拆分分区;但可以增加或减少分区的数目
Composite partition 使用range partition, 在每个分区上使用hash partition划分子分区。
|