У меня есть таблица, которая охватывает 200 миллионов записей, и я пытаюсь запустить следующий запрос. Запрос пытается обновить таблицу на основе метки времени из предыдущей записи. Есть ли способ сделать этот запрос быстрее?Настройка кросс-записи 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' вы используете –