如何让插入、更新操作不用等待触发器执行完成才返回?

maverick432 2017-06-17 06:39:09
我建立了一个数据库,执行Insert或Update的速度很快,后来加了一个AFTER INSERT, UPDATE的触发器,发现程序运行就慢了,测试了一下发现是在等待触发器执行完毕。
我想要的效果是一旦数据插入或更新完毕立即返回,触发器继续执行,触发器执行成功或失败都无所谓,关键是响应速度要快,怎样才能达到这种效果?
...全文
239 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_Nice 2017-06-19
  • 打赏
  • 举报
回复
引用 楼主 maverick432 的回复:
我建立了一个数据库,执行Insert或Update的速度很快,后来加了一个AFTER INSERT, UPDATE的触发器,发现程序运行就慢了,测试了一下发现是在等待触发器执行完毕。 我想要的效果是一旦数据插入或更新完毕立即返回,触发器继续执行,触发器执行成功或失败都无所谓,关键是响应速度要快,怎样才能达到这种效果?
触发器就在当前的事务中, 不能够拆分的. lz可以做个job定期查询数据,执行当前触发器中的事情. 或者如2楼所说,用临时表获取数据也可以进行处理.
0与1之间 2017-06-18
  • 打赏
  • 举报
回复
那可以考虑用更改跟踪
二月十六 版主 2017-06-17
  • 打赏
  • 举报
回复
如果触发器不要求马上触发可以写个作业,每天执行一次,把数据处理一下
卖水果的net 版主 2017-06-17
  • 打赏
  • 举报
回复
触发器做的操作,是你这个 update 语句的一部分,不会拆分后返给你结果的。 你这个情况,可以考虑,把你更改过的数据,先放临时表,再做一个定时任务,去实现触发器中的逻辑;

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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