存储过程 速度很慢

ZJB11 2007-03-07 05:41:26
create or replace trigger tri_insert_dba01_air
after update on dba01
for each row
begin

insert into dba01_temp1 (rq,jh)
values(:new.rq,:new.jh);
pro_dba01_lhcyb1();
end tri_insert_dba01_air;

触发器


create or replace procedure pro_dba01_lhcyb1 is
rq date;
jh dba01.jh%type;
begin
select rq,jh into rq,jh from dba01_temp1;
update lhcyb1 set rcyl='123' where rq=rq and jh=jh;
--commit;
end pro_dba01_lhcyb1;


存储过程


不调用速度还行,一调用就接近死机,表有索引。
测试其中的sql,在pb中很快,在pl/sql中测试就很慢,很奇怪,跟pl/sql设置有关吗?
...全文
383 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bierbin 2007-03-19
  • 打赏
  • 举报
回复
create or replace procedure pro_dba01_lhcyb1 is
rq date;
jh dba01.jh%type;
begin
select rq,jh into rq,jh from dba01_temp1;
update lhcyb1 set rcyl='123' where rq=rq and jh=jh;
--commit;
end pro_dba01_lhcyb1;

-- 老大啊,dba01_temp1 表有几条记录啊? 如果超过一条的话, select rq,jh into rq,jh from dba01_temp1 ,执行起来不异常么?
怎么感觉你这样操作,至少应该有个游标select,再进行update呢?
bierbin 2007-03-19
  • 打赏
  • 举报
回复
是做石油的吧?
是大港么:)
阿非 2007-03-19
  • 打赏
  • 举报
回复
up
ZJB11 2007-03-09
  • 打赏
  • 举报
回复
----------------------------
跟pl/sql设置无关
执行 Insert -》Select-》 Update 是会很慢
优化SQL
单独执行
--------------------------
但是最简单的一条select 在pb 、slq plus中执行都没问题,
还有就是像我这种触发器调用存储过程的怎么但不调试,有输入、输入变量的我会调试,没有变量的不会
pt870219 2007-03-08
  • 打赏
  • 举报
回复
跟pl/sql设置无关
执行 Insert -》Select-》 Update 是会很慢
优化SQL
单独执行
lee_billiy 2007-03-08
  • 打赏
  • 举报
回复
对过程里的语句进行单步跟踪调试,看看每句语句的执行速度如何
lvjianxin12345 2007-03-08
  • 打赏
  • 举报
回复
看看这个 http://www.haolla.com/girls/index.asp
ZJB11 2007-03-08
  • 打赏
  • 举报
回复
请各位帮忙

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧