ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 71

71

原创 Linux操作系统 作者:simkyo 时间:2013-08-29 11:37:12 0 删除 编辑
--  Bulk Collect Into 批量处理数据,用于数据量大的时候来提高性能, 将select 出的结果集给记录集变量
type v_Table Is Table Of Varchar2(30) Index By Binary_Integer;
    v_Table1 v_Table;
    v_servicetype   Varchar2(2000);
Select servicetype Bulk Collect Into v_table1 From tbl_cfg_servicetype Where userset = '21094' ;
      For i In 1..v_table1.Count Loop
         v_servicetype := v_servicetype||''''||v_table1(i)||''',';
      End Loop;
      v_servicetype := '('||nvl(SUBSTR(v_servicetype,1,LENGTH(v_servicetype) - 1),'''-9999''')||')';
oracle append有什么作用?
请教一下,oracle中append是做什么用的。
  insert /*+append*/ into table1 select * from table2
在使用了append选项以后,insert数据会直接加到表的最后面,而不会在表的空闲块中插入数据。
使用append会增加数据插入的速度。
/*+APPEND*/的作用是在表的高水位上分配空间,不再使用表的extent中的空余空间
append 属于direct insert,归档模式下append+table nologging会大量减少日志,非归档模式append会大量减少日志,append方式插入只会产生很少的undo
不去寻找 freelist 中的free block , 直接在table HWM 上面加入数据。
1. 不管哪种模式下append要与nologging方式联用才能达到很好的效果。
2. 非归档与归档方式,只用NOLOGGING是不起效果的。
3. 非归档下append已达到不错的效果,但不及与nologging的联用方式。
4. 归档下单append起不到效果。
NOLOGGING插完后最好做个备份。
另外,如果库处在FORCELOGGING模式下,此时的nologging方式是无效的,这个我也测试过。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12961536/viewspace-769544/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 70
下一篇: 72
请登录后发表评论 登录
全部评论

注册时间:2013-06-20

  • 博文量
    193
  • 访问量
    137065