从一个表到另一个表导入大量数据的时候
可以选择create table nologging parallel 64 as select 的结构导入
同时删除目标表的索引
这样的效率是最高的
原因:
insert into select 是需要将数据写入databuffer cache中的,再刷入磁盘。
而ctas的方式则是跳过了数据缓冲区,则是写到磁盘上,直接路径读写方式。
海量数据在迁移插入的时候,快速插入才是第一目的,data buffer也装不下这些数据。
索引的影响
因此索引是有序的,是需要排序的,如果插入的键值在索引的中间,需要重新进行排序,开销会比较大。
插入前先让索引失效,插入完成后再重新起效,增加效率