您的位置:首页 > 数据库 > Oracle

oracle高效导入数据方法

2015-05-26 15:39 197 查看
如何导入表数据产生的redo和undo产生量最少,导入速度最快

1.使用create table as select * from table_name;

此时会产生少量的undo信息,undo信息又会生成少量redo日志

与insert into table_name as select * from table_name;相比产生的日志少,undo信息也少

2.导入表的时候事先把索引disable掉或者直接删掉,后续导入完表在重建。还有一些禁用约束,触发器等

3.insert语句的时候批量导入,比如设定多少条记录commit一下,加快导入速度,

在sql语句里面加append,nologging提示符,使数据直接在HWR上面插入。

4.oralce中的SQL*LOADER也可以绕开redo信息,不生成日志。

5.在insert语句中添加parallel并行参数,提高语句的插入速度,不过并行受CPU个数的影响,多加进程可能会导致资源浪费。

6.对于分区表导入,按照分区来对数据进行导入,比如12分区,按照日期参数进行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  database 数据库 oracle