公司有两个业务,用同一张表T_man,一个业务定时大量插入数据到这个表类似
begin tran
DECLARE CURSOR for select name from User where 1=1;
FETCH NEXT FROM
insert into T_man values();
end tran
这个插入的时候表上有意向排它锁IX,插入行排它锁X。插入的内容比较多,插入耗时比较久20多秒。数量比较大。
这个时间如果另个业务更新这个表
begin tran
update T_man set 1=1
end tran
这个业务就需要等待第一个业务执行完成才能更新,第二个业务就会看起来跟卡死,一样。
有没有办法第一个插入时不锁表,只是行或者页级别锁。这样第二个也可以操作这个表
对锁不太熟,忘大神帮忙看看。