zoukankan      html  css  js  c++  java
  • 收藏:PL/SQL中使用Bulk Binds来提高性能

    原文:来自CSDNKamus' Oracle World的文章在PL/SQL中使用Bulk Binds对性能的提高

    测试BULK COLLECT的脚本。

    代码:--------------------------------------------------------------------------------
    SQL> SET TIMING ON;
    SQL>
    SQL> DECLARE
      2    TYPE id_type          IS TABLE OF test1.id%TYPE;
      3    TYPE description_type IS TABLE OF test1.description%TYPE;
      4 
      5    t_id           id_type          := id_type();
      6    t_description  description_type := description_type();
      7 
      8    CURSOR c_data IS
      9      SELECT *
     10      FROM   test1;
     11  BEGIN
     12    FOR cur_rec IN c_data LOOP
     13      t_id.extend;
     14      t_description.extend;
     15 
     16      t_id(t_id.last)                   := cur_rec.id;
     17      t_description(t_description.last) := cur_rec.description;
     18    END LOOP;
     19  END;
     20  /

    PL/SQL procedure successfully completed

    Executed in 2.974 seconds

    SQL>
    SQL> DECLARE
      2    TYPE id_type          IS TABLE OF test1.id%TYPE;
      3    TYPE description_type IS TABLE OF test1.description%TYPE;
      4 
      5    t_id           id_type;
      6    t_description  description_type;
      7  BEGIN
      8    SELECT id, description
      9    BULK COLLECT INTO t_id, t_description FROM test1;
     10  END;
     11  /

    PL/SQL procedure successfully completed

    Executed in 0.371 seconds

    SQL>--------------------------------------------------------------------------------

    结论:当我们需要将大量的检索结果放入一个collection的时候,使用bulking将比直接使用cursor循环有效的多。

  • 相关阅读:
    java.io.Serializable浅析
    SSH和SSM的区别
    [转]github详细教程
    GITHUB的使用
    常用端口-小结
    DNS的解析原理
    windows快捷键-小结
    ip地址0.0.0.0是什么意思
    windows插件框架下载地址
    redis和mongodb
  • 原文地址:https://www.cnblogs.com/flyingfish/p/717333.html
Copyright © 2011-2022 走看看