我使用dbm_output进行输出数据时,速度很慢。有什么办法解决没?

解决方案 »

  1.   

    -- 显示产品资费等
    create or replace procedure show_old_discnts_2(product_ioid_id0 number) is
    ------- 异常处理变量
    v_id number(20);  
    v_err_code number;  
    v_err_info varchar2(200);  
    ------表相关变量
    type product_tab_type is table of product_t%rowtype index by pls_integer;
    product_tab product_tab_type;
    -- 测试时间变量
    start_time number(20,3);
    end_time number(20,3);
    begin
      select dbms_utility.get_time into start_time  from dual;
      
      select * bulk collect into product_tab from product_t;  
      for i in product_tab.FIRST .. product_tab.LAST loop
          dbms_output.put_line(product_tab(i).name);
      end loop;
      select dbms_utility.get_time into end_time from dual;
      dbms_output.put_line('times: ' || (end_time-start_time));
     -- 异常处理通用方法 
      Exception  
          when OTHERS then  
            v_err_code:=SQLCODE;  
            v_err_info:=substr(SQLERRM,1,200);  
            dbms_output.put_line('ora-'||v_err_code||v_err_info);     
      
    end show_old_discnts_2;
    这代码还可以优化?
      

  2.   

    dbms_output.put_line的输出速度,应该没法再调了。
    你说输出到屏幕上,就是滚屏的速度慢,应该不是dbms_output.put_line本身的速度慢。