|
|
Re: 确实更快了
最初由 shift 发布
[B]这个坛子高人多!
biti_rainy提供的如下代码效率明显提高:
(测试的是5000条记录)
------------------------------------------------------------------------------------
declare
i number := 1;
begin
for c in (select /*+ all_rows */v from test group by v order by v desc) loop
update test set o = i where v = c.v;
i := i + 1;
end loop;
end;
/
实际(值):73600
------------------------------------------------------------------------------------
一分钟左右。
用以下语句则要慢些
select /*+ first_rows */v from test group by v order by v desc
实际(值):85740
------------------------------------------------------------------------------------
nyfor的方法结果是:
如果记录数是5000条,不到二分钟(实际(值):115450)
------------------------------------------------------------------------------------
biti_rainy:能说明一下你的select语句吗?不是太好理解啊。
感谢!! [/B]
biti老兄,能告诉我为什么/* +first_rows*/反比/* +all_rows*/慢吗?好象前者的目的就是为了检索时间最少呀? |
|