谁能告诉我insert /*+ append */ into select这个语法怎么使用啊
如果我后面select的内容要循环遍历做编辑然后再插入一张表的,如何用这个语法啊

解决方案 »

  1.   

    insert into table1 select...这个知道怎么用吧使用批量直接路径插入(归档模式使用nologging)可以减少undo及redo生成量
    insert /*+ append */ into table1 select
    这个就是将查询到的结果集插入到表table1中
      

  2.   


    就是想知道/*+ append */这个是什么意思
    想找个例子看看的,是不是要写append关键字什么的,有没有例子,一看知道这个append关键字怎么用的就好了
      

  3.   

    这提示符的一种
    在一般语法的固定位置加上就可以了,不加,也不影响原有语句的执行。insert /*+ append */ into table1 
      values (a,b,c)
        select a,b,c from table2;
    commit;
      

  4.   

    在使用了append选项以后,insert数据会直接加到表的最后面,而不会在表的空闲块中插入数据。
    使用append会增加数据插入的速度。
    /*+APPEND*/的作用是在表的高水位上分配空间,不再使用表的extent中的空余空间
    append 属于direct insert,归档模式下append+table nologging会大量减少日志,非归档模式append会大量减少日志,append方式插入只会产生很少的undo
    不去寻找 freelist 中的free block , 直接在table HWM 上面加入数据
      

  5.   

    使用 append 关键字后,会大大提高数据的插入速度,因为它是直接在表段后面直接插入;普通的插入会索引在空闲块中插入数据