250 만 개의 행을 포함하는 테이블이 있으며 각 행에는 xml 유형의 열이 하나 있습니다. 메시지가 다른 큐 (triggerqueue)에 도착하면 모든 레코드를 삭제하고 sqlserver 서비스 브로커 큐에 대기열에 포함해야합니다. 성능은 매우 중요하며 이제는 너무 느립니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?대형 테이블에서 ssb 대기열의 각 행을 큐에 넣습니다.
begin transaction
delete top (1) from table output @tempTable
select top 1 @message = message from @tempTable
send on conversation @message
commit transaction
이 문제를 해결하기 위해 빠른 방법이 있습니다 :
현재 우리는 (@message <> 널) 루프 한 동안 수행하는 triggerqueue에 활성화 된 SP를 사용합니까? 그런데
: 누군가가 요청하기 전에 :이 이전 계산 병합 문의 출력으로 가득하기 때문에 우리는 테이블에서 시작해야