背景: 開始並不在意索引視圖會導致死鎖。 問題: 出現死鎖,update t1 表盡然發現會去鎖t2表從而導致死鎖。 原因: 是因為索引視圖才會導致死鎖問題。單從update的執行計劃也能看出問題 例子: ...
背景:
開始並不在意索引視圖會導致死鎖。
問題:
出現死鎖,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