http://space.itpub.net/?uid-519536-action-viewspace-itemid-613449
鉴于目前在做的国际化项目中需要使用到分区技术,今天“实战式”拜读了Tom《Oracle 9i&10g 编程艺术》的第13章——分区,收获颇丰,澄清了很多概念。
Tom的书写得很深刻。
记录一下我的“共鸣点”,与诸君共享之。
【读书随记】
13.1 分区概述
“分而治之”的思想体现。
分区的好处:
1.提高数据的可用性:这点是可以肯定的,要出现问题仅仅可以局限在某个或某几个分区上,不会影响其他的分区数据
2.由于从数据库中取出了大段,相应地减轻了管理的负担:(个人认为也得从两方面来将,因为分区本身的维护也需要成本)
3.改善某些查询的性能:大型数据仓库上使用,在OLTP上不适用,因为OLTP本身就是访问比较少的数据量
4.可以把修改分布到多个单独的分区上,从而减少大容量OLTP系统上的竞争:只有出现大的竞争的时候才会有效
13.1.1 提高可用性
可用性的提高来源于每个分区的独立性。
优化器可以感知到分区的存在。
使用散列分区,我们可以让Oracle随机地(很可能是均匀地)将数据分布到多个分区上。
我们无法控制数据会分布到哪个分区,需要根据生成的散列键值来确定
可用性的两个方面:
1.优化器能够消除分区,这意味着许多用户可能甚至从未注意到某些数据是不可用的。
2.出现错误时的停机时间会减少,因为恢复所需要的工作量会大幅的减少。
13.1.2 减少管理负担
原理:在小对象上执行同样的维护操作从本质上将更为容易、速度更快,而且恢复所需要的资源也更少。
对在线重定义超大的索引(10G)带来的好处是巨大的!!!
所需要的维护空间更小,效率更高。
在线索