После перезапуска SQL Server, чтобы я оказался на чистом листе с низким ЦП, я запускаю этот запрос:
UPDATE [UserRoleMappings]
SET LastSeenLocation = [Location], LastSeenLatLng = [LatLng]
FROM (
SELECT urm.ID, ps.Location, ps.LatLng
FROM UserRoleMappings urm INNER JOIN
(
SELECT TriggerUserID,
MAX(CreatedAt) MaxDate
FROM [PageStatistics] ps
GROUP BY TriggerUserID
) MaxDates ON urm.UserID = MaxDates.TriggerUserID INNER JOIN
[PageStatistics] ps ON MaxDates.TriggerUserID = urm.UserID AND MaxDates.MaxDate = ps.CreatedAt
) i
WHERE i.ID = UserRoleMappings.ID
9239 записейбыли затронуты, и запрос работал нормально в течение 00:00:00 секунд. Однако постоянно после того, как запрос долго выполнялся, загрузка ЦП теперь колеблется между 29-45% постоянной нагрузки, указанной на этом снимке экрана. Эта загрузка никогда не уменьшалась, пока я не перезапустил SQL Server: