请教各位:
我现在的操作是这样的:(数据库32分区)
range分区暂时称为A表,被添加到A表中的普通表暂时称为B表。
在A表上,有一个日期型字段,在这个字段是有一个约束,指定其日期范围是YYYY-01-01到YYYY-12-31。并且该表上有一个由三个字段组成的主键索引。A表是按月分区的。
在B表上,没有任何的约束,也没有任何的索引。且结构与A表一样,包括数据类型也一样。
对这两个表做如下的操作:
1、 将一个SESSION表中的数据LOAD到B表中。LOAD一个月的数据,数据量大约1.5亿。
2、然后,将B表ATTACH到A表中。
3、对A表进行 完整性检查。
4、执行COMMIT操作。
在这些操作执行完成以后,(整个操作2分钟完成),我立马做了如下的查询:
select * from a where dta_dte = 'yyyy-mm-dd' and sys_cod = 'ddd' and c3='cccccc' with ur ;
这三个字段是A表的主键。所查询的数据是从B表ATTACH到A表中的数据。
该语句的执行计划显示,使用了索引扫描。
我的问题是:
1、ATTACH操作时,A表的索引是何时进行重构的。是同步重构还是异步重构。
2、我每个月的数据量大约都有1.5亿,如果当我ATTACH 2012-12月的数据到A表时,性能会不会比ATTACH 2012-05月的数据到A表时的效率差很多。(ATTACH操作是按月的大小进行的)。
非常感谢。
收起