Прежде всего позвольте мне сказать, что я работаю на SQL Server 2005, поэтому у меня нет доступа к MERGE
.
У меня есть таблица с ~ 150 тыс. Строк, которые я ежедневно обновляю из текстового файла.,Поскольку строки выпадают из текстового файла, мне нужно удалить их из базы данных, и если они меняются или являются новыми, мне нужно соответствующим образом обновить / вставить.
После некоторого тестирования я обнаружил, что с точки зрения производительности это экспоненциальнобыстрее выполнить полное удаление, а затем выполнить массовую вставку из текстового файла, а не читать строку за строкой, выполняя обновление / вставку.Однако недавно я наткнулся на некоторые посты, в которых обсуждается подражание функциональности MERGE
SQL Server 2008 с использованием временной таблицы и вывод оператора UPDATE
.
Меня это заинтересовало, потому что я смотрю на то, какМожно исключить время в моем методе Delete / Bulk Insert, когда в таблице нет строк.Я все еще думаю, что этот метод будет самым быстрым, поэтому я ищу лучший способ решить проблему с пустыми таблицами.
Спасибо