SQL优化:创建索引,导致insert语句长时间等待
来源:互联网 发布:荣耀盒子电视直播软件 编辑:程序博客网 时间:2024/06/03 17:36
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推出了联机创建索引的功能,这样就不会导致阻塞问题了。
0 0
- SQL优化:创建索引,导致insert语句长时间等待
- SQL语句-创建索引
- SQL语句-创建索引
- SQL语句-创建索引
- SQL语句-创建索引
- SQL 语句索引优化查询
- sql语句优化之索引
- sql语句创建全文索引
- T-SQL语句创建索引
- SQL创建表索引语句
- sql语句创建唯一索引
- 数据重复导致创建唯一索引失败,删除重复数据的SQL语句
- SQL创建索引优化性能
- SQL优化-索引 (六)改善SQL语句
- 创建优化的SQL语句
- SQL Server索引进阶第十三篇:Insert,Update,Delete语句
- SQL Server索引进阶第十三篇:Insert,Update,Delete语句
- 基于索引的SQL语句优化
- Android HTTPS 自制证书实现双向认证(OkHttp + Retrofit + Rxjava)
- redis学习笔记之虚拟内存
- 形参和实参有何区别
- Spring Boot起步依赖源码分析(二)
- java socket 简单通信
- SQL优化:创建索引,导致insert语句长时间等待
- intellj idea 如何设置类头注释和方法注释
- CentOS6.5安装Memcached1.4.25及配置
- JavaScript中的ArrayBuffer详细介绍
- JAVA设计模式之外观模式
- 安卓LinearLayout布局问题
- Python Queue模块详解
- Redis 的处理模型AE 模块
- 网页防复制,禁止文字选中,禁止右键菜单js代码,兼容大部分浏览器方法