导航
  • 主页
  • API 调用
  • 基础类
  • 控件与界面
  • 数据库相关
  • DataWindow
  • 项目管理
  • Web 应用
  • 脚本语言

DB2的触发器执行速度问题(在DB2版没找到答案)

xiongxiao 2008-01-23 09:41:17
好晕啊,写了个触发器,居然运行要22秒,经过反复测试,发现问题出在UPDATE的语句的个数上,本触发器是UPDATE触发器,触发器代码中一共用了10个UPDATE,是根据不同的条件执行不同的UPDATE,现在发现,就算这10个UPDATE都不执行,速度也一样的慢,除非注释了,代码类似如下:
if 1 = 0 then
update ···
if 2 = 0 then
update ···

····

如此写上10个UPDATE,这些语句根本不会执行,为啥多一个UPDATE就多2-3秒的执行时间呢,我每注释掉一个,就快一点,真是晕了,我写的其它触发器又没有发现类似的问题
...全文
106 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiongxiao 2008-04-01
CASE也用过了,甚至while循环都用了,一样的毛病
回复
ribut9225 2008-02-23
用case看看

/////

支持
回复
qiyousyc 2008-02-23
肯定是执行计划分析出现的混乱。
不用if,用case看看
回复
xiongxiao 2008-02-20
还是没人回答吗,最近发现是因为级联触发的问题,但就算级联也不应该出现这样的问题啊
回复
xiongxiao 2008-02-06
问题在于这些UPDATE都不可能执行啊,也需要费时间吗?
另外END IF肯定是有的,呵呵

祝大家新年快乐!
回复
worldly_wind 2008-01-24
如果数据量大的话,update肯定要费时间的啊。
回复
AFIC 2008-01-24
不需要end if?
回复
-狙击手- 2008-01-23
if 1 = 0 then
update ···
else
if 2 = 0 then
update
else
if .......
回复
发动态
发帖子
PowerBuilder
创建于2007-09-28

804

社区成员

PowerBuilder 相关问题讨论
申请成为版主
社区公告
暂无公告