INSERT INTO ..SELECT * FROM 表1;
这样的写法,会导致在操作期间表1被锁死,如果要插入大量数据,那么其他进程就不能访问词表,我相问一下,碰到这个问题有什么好的解决思路呢?多谢
控制插入条件,这个就别建议了。这是回避而非解决。
哥哥,你这样时,是由于SQL Server使用表扫描,在表1上加了 table 级别的共享锁,我觉得,你可以使用table hint,在page 级别加锁,缩小加锁的粒度。
你可以用游标,把select * from 表1查出的结果放到游标中,然后在将值插入
你这样insert这么多数据,当然会锁啊,insert本身就会锁表
insert into .... select * from (select * from tb with nolock) t
我怎么感觉你这是表复制、、
加上where条件呀,top也用上呀