1.提高系统的可靠性(HA): 不把所有的鸡蛋放到同一个篮子里
a.分区A坏了,但分区的B数据仍然可以被查询到
b.分区A坏了,恢复这个分区的时间比恢得整张表的时间要短得多
2.减少管理负担。 比如说,重建某个分区的索引比重建整张表的索引要轻松的多
3.SQL的性能
a.在较早版本的Oracle中,想要执行“PDML”(一种并行执行DML的机制),就必须对表进行分区
b.可以提升OLAP系统的查询。 因为OLAP的查询一般都是大批量查询,不用索引,而是进行“全面扫描”。分区前,需要全表扫描;分区后,可能只需对某一个区进行全面扫描。
b.基本不能提升OLTP系统的查询速度,甚至可能更慢。
i.查询基于索引。分区前,在大索引中查询;分区后,在小索引中查询。这两种查询的速度是一样的。
ii.甚至可能更慢。因为现在可能要查好几个索引,产生更多I/O。
c.对OLTP的DML操作可能有好处
i.因为这样可以减少数据竞争和索引竞争的机率
ii.但是仍有额外开销:插入新行时,需要判断把它放在哪个分区。