我有一张表跨越2亿条记录,我试图运行下面的查询。该查询尝试根据上一条记录的时间戳更新表。无论如何,这个查询运行得更快吗?调整交叉记录更新查询
UPDATE [dbo].[Location Data]
SET [timestamp_prev] =
(
SELECT [timestamp] FROM [dbo].[Location Data] newTable
WHERE [dbo].[Location Data].[RowNumber] = (newTable.[RowNumber] + 1)
AND [dbo].[Location Data].[mmsi] = newTable.[mmsi]
);
检查您的查询计划:它实际上执行相关的子查询,还是将它转换为自连接?如果没有,你应该这样做。 – Blorgbeard
您使用的是哪个版本的'SQL Server' –