2億個のレコードにまたがるテーブルがあり、次のクエリを実行しようとしています。クエリは、前のレコードのタイムスタンプに基づいてテーブルを更新しようとします。このクエリをより速く実行させる方法はありますか?クロスレコードUPDATEクエリのチューニング
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のどのバージョン ' –