猿问

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

<P>如题,一次性插入多个表,如果我同时还使用事务,经常出现死锁。</P> <P>我想征求一下有经验前辈的意思,是不是不推荐在插入【多个有外键关系的表】时,不能使用事务?</P>

慕斯王
浏览 948回答 2
2回答

慕沐林林

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

jeck猫

事务、多外键关系没有什么必然关系,不存在推荐不推荐的问题。 建议你理清自己的业务流程,来查找死锁的原因,跟用不用事务没有必然关系。
随时随地看视频慕课网APP

相关分类

SQL Server
我要回答