rt

解决方案 »

  1.   

    我的一个语句使用between ...and ...执行了50多秒
    但是我写了函数,
    create or replace function get_sal(accNbr in varchar2)
    return number
    as
      v_sal number;
    begin
      select count(*) into v_sal from dual where to_number(accNbr) between 13332510302 and 13332511302;
    return v_sal;
    Exception
       when no_data_found then
         raise_application_error(-20000,'该雇员不存在.');
    end;
    使用他代替between ...and ..只需要4秒的样子
      

  2.   

    而且我使用between..and 是使用了索引范围扫描
      

  3.   

    1、第一次读取数据的时候,数据已经在data buffer中缓存,所以你第二次,你查询的时候直接从data buffer中读取,减少了查询时间,不要再从数据文件去读数据了。所以快了
      

  4.   

    把你的函数加上deterministic关键字,再试试原因可以g一下和这个关键字有关的文章
      

  5.   

    http://blog.csdn.net/inthirties/article/details/5465824