+ -
当前位置:首页 → 问答吧 → 为什么使用内部函数能够提高sql的执行效率

为什么使用内部函数能够提高sql的执行效率

时间:2011-10-09

来源:互联网

rt

作者: YY_MM_DD   发布时间: 2011-10-09


具体情况具体对待. 事情没有绝对。

作者: tianlesoftware   发布时间: 2011-10-09

我的一个语句使用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秒的样子

作者: YY_MM_DD   发布时间: 2011-10-09

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

作者: YY_MM_DD   发布时间: 2011-10-09

很可能系統對內部函數已經完成內部編譯。

作者: mingxyzonline   发布时间: 2011-10-09

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

作者: lkz2004   发布时间: 2011-10-09

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


不错。。有点道理。。。

作者: YY_MM_DD   发布时间: 2011-10-09