【发布时间】:2020-02-02 01:48:54
【问题描述】:
我正在运行一个执行MERGE 的程序。 sp_who2 显示会话本身阻塞。这怎么可能?我的sp长这样
CREATE PROC [dbo].[sp] as
BEGIN
MERGE dbo.table as target
USING (
select field1, field2
from dbo.view
) as source (field1, field2)
ON target.field1=source.field1 and target.field2=source.field2
WHEN NOT MATCHED BY SOURCE THEN
DELETE
WHEN NOT MATCHED BY TARGET THEN
INSERT (field1, field2) VALUES (source.field1, source.field2);
END
dbo.table 是一个巨大的大桌子。有IX_table(field1) 和PK_table(field2,field1)
sp_who2 看起来像这样
版本 -
Microsoft SQL Server 2017 (RTM-CU16) (KB4508218) - 14.0.3223.3 (X64)
2019 年 7 月 12 日 17:43:08 版权所有 (C) 2017 Microsoft Corporation Windows Server 2016 Standard 10.0 上的标准版(64 位) (内部版本 14393:)(管理程序)
【问题讨论】:
-
这是由于线程协调(CXPACKET 等待)并行查询。
标签: sql-server tsql