У меня есть таблица, которая содержит 2,5 миллиона строк, каждая строка имеет один столбец типа xml. Все записи должны быть удалены и помещены в очередь посредника служб sqlserver, когда сообщение поступает в другую очередь (триггерная очередь). Производительность очень важна, и теперь она слишком медленная. Каков наилучший способ добиться этого?
в настоящее время мы используем активированный sp в триггерной очереди, который выполняет цикл while (@message <> null):
begin transaction
delete top (1) from table output @tempTable
select top 1 @message = message from @tempTable
send on conversation @message
commit transaction
Есть ли более быстрые способы решения этой проблемы?
Кстати, прежде чем кто-то спросит: нам нужно начать с таблицы, потому что она заполнена выводом из ранее рассчитанного оператора слияния