Я бегу на Sql Server 2014. Я пытаюсь выполнить следующий запрос:Оптимизировать Обновление запросов по таблицам
UPDATE [dbo].[Table1]
SET Table1.[PaymentId] = ST.PaymentId
,Table1.[ServiceId] = ST.ServiceId
...several more fields
FROM [dbo].[StagingTable] as ST
WHERE
Table1.Id = ST.Id
Table1 имеет идентичность и индекс Id, но StagingTable не имеет индекс для Я бы. Я оставил индекс на StagingTable, потому что мне нужно сделать очень быструю вставку данных. У меня около 4 миллионов записей в каждой таблице.
Этот запрос работает очень медленно, потому что он выполняет сканирование таблицы для StagingTable и поиск искаженного индекса в таблице1 изначально в плане выполнения. Тем не менее, я хотел бы сортировать по Id в StagingTable, а затем выполнение должно быть сканированным индексом, а не поиском.
Кто-нибудь знает, как это сделать в запросе на обновление? Я делаю это как часть задания SSIS, поэтому я пытаюсь сделать все это в рамках одного запроса.
вы должны добавить отношение между двумя таблицами – Sherlock