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
    /////////////////////////

  • 相关阅读:
    添加可运行的js代码
    一,IL访问静态属性和字段
    UI基础UIWindow、UIView
    ASP.NET MVC:会导致锁定的会话
    2013腾讯编程马拉松初赛
    使用phantomjs生成网站快照
    C语言
    设置 Ext.data.Store 传参的请求方式
    HDU 2041 超级楼梯
    MySQL 监控-innotop
  • 原文地址:https://www.cnblogs.com/jacktu/p/1083207.html
Copyright © 2011-2022 走看看