我们遇到数据库死锁的一个经典原因是两个事务以不同的顺序插入和更新表.
例如,事务A在表A中插入,然后在表B中插入.
事务B插入表B后跟A.
这种情况总是存在数据库死锁的风险(假设您没有使用可序列化的隔离级别).
我的问题是:
您在设计中遵循哪种模式,以确保所有事务都以相同的顺序插入和更新.我正在阅读的一本书 - 建议您可以按表格的名称对语句进行排序.你有没有做过类似或不同的事情 - 这会强制所有插入和更新的顺序相同?
删除记录怎么样?删除需要从子表开始,更新和插入需要从父表开始.你如何确保这不会陷入僵局?