日期:2014-05-17  浏览次数:20898 次

表分区的自动并行问题,高手请进
表t的分区是按列day_id的日期的每一天分区的,
(如20091201、20091202、每天一个分区,每个分区中有两百万条数据,每个月有5000万条数据),
表t在code字段上建有索引,是local索引,create index on t(code) local,
且有足够的cpu和io.

 sql: select t.code, max(t.time) from
  t
  where
  t.day_id between 20100101 and 20100131 
  group by t.code;
问题:1,上面的这句sql是否会自动并行?
  2,有种说法说:“索引表分区的自动并行会起冲突”?
  想问在硬件资源足够丰富的前提下,什么情况会导致1条涉及多个表分区的sql并行??

------解决方案--------------------
这个参考一下
http://hi.baidu.com/stampgg/blog/item/52a1e3b453284d728ad4b2c6.html
------解决方案--------------------
分区的核心是表拆分,分块管理(查询、插入、删除),索引的核心是把数据的物理地址存储到索引中,快速定位数据,在分区表和索引同时存在的时候,oracle会根据查询情况的不同,决定是用分区进行表扫描,还是用索引进行快速数据定位。哪种效率高就用哪种,所以说这两者不冲突。