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/
  • 相关阅读:
    Zabbix5 Frame 嵌套
    Zabbix5 对接 SAML 协议 SSO
    CentOS7 安装 Nexus
    CentOS7 安装 SonarQube
    GitLab 后台修改用户密码
    GitLab 查看版本号
    GitLab Admin Area 500 Error
    Linux 安装 PostgreSQL
    Liger ui grid 参数
    vue.js 是一个怪东西
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3610323.html
Copyright © 2011-2022 走看看