我有一个sp,它有这样的插入语句:
begin transaction
insert into table1
insert into table2
.
.
.
insert into table n
commit transaction
只要不同时调用sp,这一切都很好。但是,当同时调用sp时,我有时会在第一个表的主键上遇到死锁问题。
答案 0 :(得分:1)
有一种可以解锁的mirriad方式。发布实际的死锁图(实际 xml,而不是dealock的图片!)。
如果你真的只有插入(没有读取),那么最可能的原因是外键约束。发布确切的模式定义(所有表定义,所有索引定义,所有约束,包括主键和外键)。顺便说一下,如果你定义了任何触发器,那么所有的赌注都会被关闭,因为死锁可能是由任意触发器代码引起的。
答案 1 :(得分:0)
您是否为db设置了一些可靠的隔离级别,例如ReadCommitted?