索引视图导致死锁

简介: 背景:  开始并不在意索引视图会导致死锁。问题:  出现死锁,update t1 表尽然发现会去锁t2表从而导致死锁。原因:  是因为索引视图才会导致死锁问题。单从update的执行计划也能看出问题例子:  create table t1(id int primary key,a ...

背景:

  开始并不在意索引视图会导致死锁。

问题:

  出现死锁,update t1 表尽然发现会去锁t2表从而导致死锁。

原因:

  是因为索引视图才会导致死锁问题。单从update的执行计划也能看出问题

例子:

  

create table t1(id int primary key,a int)
create table t2(id int primary key,a int)
go

CREATE VIEW [dbo].[DLV_AllProductItems]
WITH SCHEMABINDING
AS
SELECT       a.id,a.a,b.id as idb,b.a as ab
FROM            dbo.t1 a
	inner join dbo.t2 b on a.id = b.id



GO

create unique clustered index ix on t(id)
update t1 set a=1 where id =1

  

目录
相关文章
|
8月前
|
存储 数据库 索引
事务、视图和索引
事务、视图和索引
|
8月前
|
SQL 存储 数据库
sql事务、视图和索引
sql事务、视图和索引
|
6月前
|
SQL Oracle 关系型数据库
加索引导致表被锁的原因及处理方法
加索引导致表被锁的原因及处理方法
589 0
|
SQL 运维 安全
MySQL索引及视图
MySQL索引及视图
130 0
|
8月前
|
关系型数据库 MySQL 测试技术
MySQL 并发插入唯一键相邻数据和更新数据导致死锁
一 前言死锁其实是一个很有意思也很有挑战的技术问题,大概每个DBA和部分开发朋友都会在工作过程中遇见。关于死锁我会持续写一个系列的案例分析,希望能够对想了解死锁的朋友有所帮助。二 案例分析2.1 业务场景业务上的主要逻辑:首先执行插入数据,如果插入成功,则提交。如果插入的时候报唯一键冲突,则执行更新...
281 0
MySQL 并发插入唯一键相邻数据和更新数据导致死锁
|
SQL 存储 Oracle
Oracle的视图,索引,约束,事务,数据库范式
🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
116 0
Oracle的视图,索引,约束,事务,数据库范式
|
SQL 存储 缓存
Oracle数据中的序列、索引、视图、事务操作
Oracle数据中的序列、索引、视图、事务操作详解以及rowid 和 rownum的简单介绍(绝对干货!)
Oracle数据中的序列、索引、视图、事务操作
|
SQL 测试技术
临时表在SQL优化中的作用
今天我们来讲讲临时表的优化技巧 临时表,顾名思义就只是临时使用的一张表,一种是本地临时表,只能在当前查询页面使用,新开查询是不能使用它的,一种是全局临时表,不管开多少查询页面均可使用。
临时表在SQL优化中的作用

热门文章

最新文章