zoukankan      html  css  js  c++  java
  • Oracle 插入大量数据

    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)

    道森Oracle,国内最早、最大的网络语音培训机构,我们提供专业、优质的Oracle技术培训和服务! 我们的官方网站:http://www.daosenoracle.com 官方淘宝店:http://daosenpx.taobao.com/
  • 相关阅读:
    uni-app开发经验分享九: 组件传值
    uni-app开发经验分享八: 实现微信APP支付的全过程详解
    CSS3+JS完美实现放大镜模式
    原生JS拖拽
    LeetCode 797. 所有可能的路径
    面试题 02.01. 移除重复节点
    LeetCode 139. 单词拆分
    LeetCode 1436. 旅行终点站
    LeetCode 16. 最接近的三数之和
    Hadoop 3.13在Ubuntu20.04上的单机伪分布式配置
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3610323.html
Copyright © 2011-2022 走看看