SQL Server中创建索引,导致insert语句长时间等待,之前觉得在创建索引,应该会影响insert操作,但一直没有实际验证过,今天验证了下一下,果然是这样。
1、在会话1中创建索引:
点击(此处)折叠或打开
- create index idx_temp on temp(biz_date,func_code)
2、在会话2中插入一条数据:
insert into temp
select top 1 * from ms_visit_acvt
然后,会话2就阻塞住了。
3、在会话3中查询阻塞情况,和创建索引时所需要的锁:
![](http://blog.itpub.net/attachment/201601/28/653220_14539518273I7F.png)
正因为在创建索引的时候,会导致dml语句阻塞,所以SQL Server推出了联机创建索引的功能,这样就不会导致阻塞问题了。