首页 新闻 会员 周边

插入多个表,若这些表之间有了外键关系,就不能用事务了吗?

0
悬赏园豆:10 [已解决问题] 解决于 2008-04-22 17:18
<P>如题,一次性插入多个表,如果我同时还使用事务,经常出现死锁。</P> <P>我想征求一下有经验前辈的意思,是不是不推荐在插入【多个有外键关系的表】时,不能使用事务?</P>
Kai.Ma的主页 Kai.Ma | 初学一级 | 园豆:160
提问于:2008-04-22 12:06
< >
分享
最佳答案
0
如果多表操作出现死锁,那么应该是业务逻辑需要调整,或者程序逻辑不正确 使用事务时出现死锁,那么除去事务时,死锁一样会发生,而且没有了事务只会让系统变得更糟,因为不但会出现死锁,还会无法保证数据完整性,出错后的恢复工作将变得异常艰难,甚至根本无法完成 所以,现在主要的任务是找到业务逻辑不合理的地方,或者重新设计部分程序逻辑以避免死锁的发生,而不是取消事务 顺便说下,越是操作多个有外键联系的表,越是应该有事务,不然会很惨
丁学 | 专家六级 |园豆:18730 | 2008-04-22 15:22
其他回答(2)
0
事务、多外键关系没有什么必然关系,不存在推荐不推荐的问题。 建议你理清自己的业务流程,来查找死锁的原因,跟用不用事务没有必然关系。
杨连国 | 园豆:295 (菜鸟二级) | 2008-04-22 12:38
0
你最好是将插入数据和事务写成一个PROC 这样看到清楚 出了问题 也知道错在哪里了 分开写 特别是不同的人写的 那到时候找起来 你的头不痛才怪哦
yeyang | 园豆:418 (菜鸟二级) | 2008-04-22 13:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册