Notes on ‘Expert Oracle’ — No.13.1: 分区 — 分区的好处

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.但是仍有额外开销:插入新行时,需要判断把它放在哪个分区。

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.