Что, если вы сделали что-то подобное вместо этого?
Каким-то образом введите эти 55 000 строк данных в базу данных;если они еще не там.(Если вы сейчас получаете эти строки из какого-то запроса, вместо этого организуйте хранение результатов запроса во временной таблице в этой базе данных. (Это может быть подходящим приложением для хранимой процедуры .)
Теперь вы можете выразить операции, которые вам необходимо выполнить, возможно, в виде двух отдельных запросов SQL: один для обновления и один или несколько других для вставки.В первом запросе может использоваться предложение, например «WHERE FOO IN (SELECT BAR FROM @TEMP_TABLE ...)», для определения строк, подлежащих обновлению. Другие могут использовать «WHERE FOO NOT IN (...) "
Это, если быть точным, точно , я бы ожидал, что потребуется использовать хранимую процедуру, потому что, есливы думаете об этом, «сам сервер SQL» является точно подходящей стороной для выполнения работы, потому что он единственный парень, у которого уже есть данных в наличии, что вынамереваться манипулировать. Он один не долженпередать "эти 55 000 строк в любом месте.Идеально подходит.