ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle 插入大量数据

Oracle 插入大量数据

原创 Linux操作系统 作者:lygle 时间:2013-03-31 19:20:37 0 删除 编辑

1. 采用高速的存储设备,提高读写能力,如:EMC 和NetApp,

2. 假如tab1表中的没有数据的话
DROP TABLE TAB1;
CREATE TABLE TAB1 AS SELECT * FROM TAB2;
然后在创建索引

3. 用Hint 提示减少操作时间

INSERT /*+Append*/ INTO tab1
SELECT * FROM tab2;

4. 采用不写日志及使用Hint提示减少数据操作的时间。

建议方案是先修改表为不写日志:
sql> alter table table_name NOLOGGING;

插入数据:

INSERT /*+Append*/ INTO tab1
SELECT * FROM tab2;

插入完数据后,再修改表写日志:
sql> alter table table_name LOGGING;

这里的区别就在于如果插入数据的同时又写日志,尤其是大数据量的insert操作,需要耗费较长的时间。

5. 用EXP/IMP 处理大量数据

(1)给当前的两个表分别改名
alter table tab1 rename to tab11;
alter table tab2 rename to tab1;
(2)导出改名前的tab2
exp user/pwd@... file=... log=... tables=(tab1)
(3)把名字改回来
alter table tab1 rename to tab2;
alter table tab11 rename to tab1;
(4)导入数据
imp user/pwd@... file=... log=... fromuser=user touser=user tables=(tab1)

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28673746/viewspace-757515/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-02-27

  • 博文量
    129
  • 访问量
    408521