[英]High CPU Usage on SQL Server Caused by SqlCacheDependency
[英]SQL Server High CPU Usage
我在客户端数据的ETL期间遇到问题,其中SQL占用了我的开发服务器上的100%CPU。 这只是偶尔发生,我已经找到了引起该问题的SP的特定部分,但不确定为什么它使用了如此多的CPU。
LoadId和ClientId都是SP的输入变量。 基本上,我正在尝试查找登台表(新加载的数据)中的任何对象ID是否与现有对象(针对特定客户端)匹配,并且还检查验证表(数据在处理之前得到验证检查) )中的任何错误。
SELECT src.Id ,
o.Id ,
CASE WHEN o.Id IS NULL THEN 0
ELSE 1
END
FROM ObjectsStaging src
LEFT OUTER JOIN client.Objects o ON src.Id = o.UniqueId
WHERE src.LoadId = 22
AND ( o.ClientId IS NULL
OR o.ClientId = 3
)
AND NOT EXISTS ( SELECT 1
FROM dbo.ValidationLog v
WHERE v.LoadId = 22
AND v.RowId = src.RowId )
也许尝试这样做,但是将v.PK更改为V表中的Non nullible列。
SELECT src.Id ,
o.Id ,
CASE WHEN o.Id IS NULL THEN 0
ELSE 1
END
FROM ObjectsStaging src
LEFT OUTER JOIN client.Objects o ON src.Id = o.UniqueId
LEFT OUTER JOIN dbo.ValidationLog v on v.LoadId = 22 AND v.RowId = src.RowId
WHERE src.LoadId = 22
AND ( o.ClientId IS NULL
OR o.ClientId = 3
)
AND v.PK is null -- V.loadid is null ? --(same as not exists)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.