关闭

oracle 大数据量数据插入

1501人阅读 评论(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)

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:219260次
    • 积分:3491
    • 等级:
    • 排名:第9504名
    • 原创:98篇
    • 转载:98篇
    • 译文:0篇
    • 评论:25条
    最新评论