zoukankan      html  css  js  c++  java
  • 【原创】oracle中普通insert和直接装载的性能差别

    这是以前做的一个测试,拿出来给大家作为参考吧

    测试表:mqqtest

    测试表原始数据量:0

    插入数据量:1000w

    分三种方法插入作为对比参数:

    1.create table as select 方式

    2.insert into方式

    3.insert /*+append*/ into方式

    第一种方法由于是一个ddl操作,不需写回滚段,因此耗时在dbwr

    第二种方法是一个dml操作,在默认情况下是要写回滚段,因此增加了lgwr的额外开销

    第三者方法显示的指定insert操作无需写回滚段,因此性能跟第一种方法一样。

    方法一:create table mqqtest
    as
    select * from mqqstat.t_sub_stat where rownum <= 10000000
    ///////////////////////////////
    Table created.

    Elapsed: 00:01:53.79
    //////////////////////////////

    方法二:
    insert into mqqtest(STATDATE, SERVICE_CLASS, SERVICE_ID,
       STATION, CITY_CODE, REG_MODE,
       UNREG_MODE, CHANNEL_CODE, SUBCHANNEL_CODE,
       PAY_WAY, FEATURE_STR, TOTALNUM,
       OPENNUM, CLOSENUM, CLOSEIN1DAYNUM,
       CLOSEIN3DAYNUM, O1REMAIN3, O2REMAIN3,
       O3REMAIN3, THISMONTHOPENCLOSE, HISTORYOPENCLOSE)
    select STATDATE, SERVICE_CLASS, SERVICE_ID,
       STATION, CITY_CODE, REG_MODE,
       UNREG_MODE, CHANNEL_CODE, SUBCHANNEL_CODE,
       PAY_WAY, FEATURE_STR, TOTALNUM,
       OPENNUM, CLOSENUM, CLOSEIN1DAYNUM,
       CLOSEIN3DAYNUM, O1REMAIN3, O2REMAIN3,
       O3REMAIN3, THISMONTHOPENCLOSE, HISTORYOPENCLOSE
        from mqqstat.t_sub_stat where rownum <= 10000000

    10000000 rows created.

    Elapsed: 00:08:38.57

    方法三:
    insert /*+APPEND*/into mqqtest(STATDATE, SERVICE_CLASS, SERVICE_ID,
       STATION, CITY_CODE, REG_MODE,
       UNREG_MODE, CHANNEL_CODE, SUBCHANNEL_CODE,
       PAY_WAY, FEATURE_STR, TOTALNUM,
       OPENNUM, CLOSENUM, CLOSEIN1DAYNUM,
       CLOSEIN3DAYNUM, O1REMAIN3, O2REMAIN3,
       O3REMAIN3, THISMONTHOPENCLOSE, HISTORYOPENCLOSE)
    select STATDATE, SERVICE_CLASS, SERVICE_ID,
       STATION, CITY_CODE, REG_MODE,
       UNREG_MODE, CHANNEL_CODE, SUBCHANNEL_CODE,
       PAY_WAY, FEATURE_STR, TOTALNUM,
       OPENNUM, CLOSENUM, CLOSEIN1DAYNUM,
       CLOSEIN3DAYNUM, O1REMAIN3, O2REMAIN3,
       O3REMAIN3, THISMONTHOPENCLOSE, HISTORYOPENCLOSE
        from mqqstat.t_sub_stat where rownum <= 10000000
    //////////////////////////
    10000000 rows created.

    Elapsed: 00:01:25.73
    /////////////////////////

  • 相关阅读:
    数据结构学习之前言,为年后换新工作做准备
    马云不想成为“马云”
    2014找工作总结-机会往往留给有准备的人
    数据分析≠Hadoop+NoSQL,不妨先看完善现有技术的10条捷径
    做个犀利的码农:如何持续培养/更新自己的开发技能
    Google七夕情人节Doodle背后技术揭秘
    把帖子用循环显示出来
    php验证登录
    用户注册
    form 表单用php来跳转页面
  • 原文地址:https://www.cnblogs.com/jacktu/p/1083207.html
Copyright © 2011-2022 走看看