[已解决问题] 插入多个表,若这些表之间有了外键关系,就不能用事务了吗?
提问时间: 2008-04-22 12:06
悬赏分:10 浏览:141 次

如题,一次性插入多个表,如果我同时还使用事务,经常出现死锁。

我想征求一下有经验前辈的意思,是不是不推荐在插入【多个有外键关系的表】时,不能使用事务?


提问者:Kai.Ma - 初学一级
最佳答案
如果多表操作出现死锁,那么应该是业务逻辑需要调整,或者程序逻辑不正确
使用事务时出现死锁,那么除去事务时,死锁一样会发生,而且没有了事务只会让系统变得更糟,因为不但会出现死锁,还会无法保证数据完整性,出错后的恢复工作将变得异常艰难,甚至根本无法完成
所以,现在主要的任务是找到业务逻辑不合理的地方,或者重新设计部分程序逻辑以避免死锁的发生,而不是取消事务
顺便说下,越是操作多个有外键联系的表,越是应该有事务,不然会很惨
2008/4/22 15:22:44 回答者:丁学


提问者对于答案的评价:谢谢
其它回答(2)
事务、多外键关系没有什么必然关系,不存在推荐不推荐的问题。

建议你理清自己的业务流程,来查找死锁的原因,跟用不用事务没有必然关系。
3周前   回答者:杨连国 - 菜鸟二级
你最好是将插入数据和事务写成一个PROC
这样看到清楚 出了问题 也知道错在哪里了
分开写 特别是不同的人写的
那到时候找起来 你的头不痛才怪哦

3周前   回答者:yeyang - 菜鸟二级
评论
3周前   Vincent Love :
开始喜欢PROC 了

   您需要登录以后才能回答!
我的问题    我要提问


快到期问题

> 问题排行榜

有不合适内容,建议去除