我有一張表跨越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' –