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中查询阻塞情况,和创建索引时所需要的锁:

从上图可以看出,会话1获取了表temp的S锁,而会话2在获取表temp的IX锁时,被阻塞住了,这里需要说明的是S锁与IX锁之间是不兼容的,所以会相互排斥,就会导致阻塞。正因为在创建索引的时候,会导致dml语句阻塞,所以SQL Server推出了联机创建索引的功能,这样就不会导致阻塞问题了。
编辑推荐:
- 【SQL Server】创建索引,导致insert语句长时间等待03-02
- [SQL Server] 案例分享 - 2016新年第一个case - AlwaysOn03-02
- D'anniversaire pour que les jeunes enfants lisseur ghd03-02
- reporting services lookup03-02
- Your services and solutions of the provider ghd auckland03-02
- 【SQL Server】还原数据库03-02
- tbsecsvc.exe是什么进程 tbsecsvc.exe无法关闭的解决办法03-02
- 日志收缩03-02
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 【SQL Server】创建索引,导致insert语句长时间等待
【SQL Server】创建索引,导致insert语句长时间等待
26-03-02 - [SQL Server] 案例分享 - 2016新年第一个case - AlwaysOn
- 【SQL Server】还原数据库
【SQL Server】还原数据库
26-03-02 - tbsecsvc.exe是什么进程 tbsecsvc.exe无法关闭的解决办法
- 日志收缩
日志收缩
26-03-02 - 【SQL Server】通过sql profiler捕获sql
【SQL Server】通过sql profiler捕获sql
26-03-02 - 电脑安装驱动后我的电脑不显示U盘的具体解决方法
电脑安装驱动后我的电脑不显示U盘的具体解决方法
26-03-02 - helpsvc.exe是什么进程
helpsvc.exe是什么进程
26-03-02 - SQL SERVER 2008 R2 恢复单个表数据(傻瓜式操作文档)
SQL SERVER 2008 R2 恢复单个表数据(傻瓜式操作文档)
26-03-02 - MAC如何管理安卓手机 锤子SmartFinder教程
MAC如何管理安卓手机 锤子SmartFinder教程
26-03-02
