Удалить все / Массовая вставка

Прежде всего позвольте мне сказать, что я работаю на SQL Server 2005, поэтому я не У меня есть доступ к MERGE .

У меня есть таблица с ~ 150 тыс. строк, которую я ежедневно обновляю из текстового файла. По мере того, как строки выпадают из текстового файла, мне нужно удалить их из базы данных, и если они изменились или появились новые, мне нужно обновить / вставить соответственно.

После некоторого тестирования я обнаружил, что с точки зрения производительности это сделать экспоненциально быстрее полное удаление, а затем массовая вставка из текстового файла, а не чтение файла построчно, выполняя обновление / вставку. Однако недавно я наткнулся на несколько сообщений, в которых обсуждалась имитация функции MERGE SQL Server 2008 с использованием временной таблицы и вывода оператора UPDATE .

Меня это интересовало, потому что я я изучаю, как я могу устранить время в моем методе удаления / массовой вставки, когда в таблице нет строк. Я все еще думаю, что этот метод будет самым быстрым, поэтому я ищу лучший способ решить проблему с пустой таблицей.

Спасибо

6
задан Peter Lang 26 October 2010 в 14:43
поделиться