索引视图导致死锁

简介:

背景:

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

问题:

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

原因:

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

例子:

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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

  




    本文转自 Fanr_Zh 博客园博客,原文链接:http://www.cnblogs.com/Amaranthus/p/6238339.html,如需转载请自行联系原作者




相关文章
|
11天前
|
存储 数据库 索引
事务、视图和索引
事务、视图和索引
13 0
|
11天前
|
SQL 存储 关系型数据库
MySQL索引原理(索引、约束、索引实现、索引失效、索引原则)以及SQL优化
MySQL索引原理(索引、约束、索引实现、索引失效、索引原则)以及SQL优化
142 1
|
6月前
|
SQL Java 关系型数据库
索引操作
索引操作
31 0
|
7月前
|
存储 数据库 索引
【面试官挖坑】聚集索引会隐式的自动为表添加一个主键索引那你是不是就可以不设置主键索引了?
【面试官挖坑】聚集索引会隐式的自动为表添加一个主键索引那你是不是就可以不设置主键索引了?
|
11月前
|
SQL 运维 安全
MySQL索引及视图
MySQL索引及视图
98 0
|
SQL 存储 Oracle
Oracle的视图,索引,约束,事务,数据库范式
🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
82 0
Oracle的视图,索引,约束,事务,数据库范式
|
存储 关系型数据库 MySQL
33. 分别谈谈联合索引生效和失效的条件
33. 分别谈谈联合索引生效和失效的条件
172 0
33. 分别谈谈联合索引生效和失效的条件
|
存储 关系型数据库 MySQL
InnoDB表聚集索引层高什么时候发生变化(1)
InnoDB表聚集索引层高什么时候发生变化
|
存储 关系型数据库 MySQL
InnoDB表聚集索引层高什么时候发生变化(2)
InnoDB表聚集索引层高什么时候发生变化