INSERT /*+ APPEND*/
    INTO ODS_O_SERV_USER_OCS_DAY NOLOGGING
      SELECT /*+PARALLEL(T,10)USE_HASH(t,a)*/
       V_MONTH ACCT_MONTH,
       SUBSTR(V_DATE, 7, 2),
       TO_CHAR(USER_ID),
       T.CITY_CODE,
       '',
       '',
       SERVICE_ID,
       '1',
       TO_CHAR(FAVOUR_ID),
       DEALER_ID,
       LEFT_FEE,
       TO_CHAR(STATE),
       TO_CHAR(MISSSTATE),
       BLACKSTATE,
       TO_CHAR(FIRSTRECHARGEFLAG),
       TO_CHAR(FIRSTCALLFLAG),
       TO_CHAR(CREDITLIMIT),
       DELETETIME,
       EXPIRE_DATE,
       SERVICESTART,
       ACCOUNTSTOP,
       '',
       ''
        FROM STAGE.BB_PPS_USER_INFO_T这种插入有什么好处么
NOLOGGING 是什么意思

解决方案 »

  1.   

    append hint会指引insert语句直接使用段中的新块,nologging则不产生redo,更改直接写进数据文件.PARALLEL hint指示多个cpu并行处理语句.所有的目的都是为了提高insert的效率.
    USE_HASH貌似没用,因为是对单表的操作.
      

  2.   

    哦,看错,你应该是只截取了一段,USE_HASH指定两表使用hash join.
      

  3.   

    这种插入就是很方便罢了 相当于从这张表的数据导到另一张表 
    NOLOGGING 就是不需要写入日志了 这种方式有利有弊的
      

  4.   

    /*+ APPEND*/ /*+PARALLEL(T,10)USE_HASH(t,a)*/
    这两个注释必需加上么,这连个注释什么意思
      

  5.   


    /*+ APPEND*/
    直接插入空闲的快/*+PARALLEL(T,10)
     以及开启了并行  
    --nologging 不写入日志
      

  6.   

    这个叫hint,具体的用法和作用你可以google下
    /*+ APPEND*/
    使用批量直接路径插入(归档模式使用nologging)可以减少undo及redo生成量