我们有一个10分钟的计划作业,每20分钟运行一次存储过程。存储过程中包含多个更新语句。此过程通常会导致锁定并影响系统性能。我注意到UPDATE
语句正在视图上运行。
任何人都可以解释在表格上执行更新与在视图上执行更新之间有什么区别吗?
我只是认为更新视图可能会导致锁定。
还有任何避免锁定更新的建议。
由于
更新
示例UPDATE
查询。存储过程有12个这样的更新查询。
UPDATE View1
SET col1 = CAST((dbo.gettimeremainingminutes(getdate(), dbo.f_UTCToLocalTime(col2)) / 1440) as INTEGER)
WHERE View2 IS NOT NULL
AND [Status] = 0
AND IsActive = 1
UPDATE View1
SET col1 = ISNULL(col1, 0) + CAST((dbo.function1(dbo.f_UTCToLocalTime(col2), getdate()) * 60) AS INTEGER),
col3 = ISNULL(col3, 0) + CAST((dbo.function1(dbo.f_UTCToLocalTime(col2), getdate())) AS INTEGER)
WHERE [Status] = 0