我在SEND语句的文档中注意到,它允许同时在多个会话句柄上发送相同的消息。假设在我的情况下,我想发送给定消息的位置数量很小(少于5个),但我想发送的每条消息都应该发送到所有这些地方。下列各点之间是否有实际区别:
declare @ch1 uniqueidentifier,
@ch2 uniqueidentifier,
@ch3 uniqueidentifier,
@message xml;
-- approach #1
send on conversation (@ch1, @ch2, @ch3)
message type [foo]
(@message);
-- approach #2
send on conversation (@ch1)
message type [foo]
(@message);
send on conversation (@ch2)
message type [foo]
(@message);
send on conversation (@ch3)
message type [foo]
(@message);发布于 2016-09-11 10:47:23
SEND ON (@h1, @h2, @h3, ... , @hN)将只在sys.transmission_queue中存储消息体一次。相对于SEND ON (@h1)、SEND ON (@h2)、.、SEND ON (@hN),它将存储消息体N次。基本上,这才是真正的区别。如果消息体的大小很大,它可能会对perf产生明显的影响。
对于本地交付,当通常不涉及sys.transmission_queue时,将没有显着性差异。
发布于 2016-09-10 23:32:44
我视你的需要而定,因为你说你只有五次转换,你可以双向转换。他们之间没有区别..。但这是个陷阱
您的第一种方法就像一台机器gun.In小机箱,它不会在服务器上造成压力或数据丢失,但在很大的情况下,我不能给您保证(我的意思是机关枪,服务器做堵塞)。
实例的传输队列中的消息按以下顺序传输:
https://stackoverflow.com/questions/39430697
复制相似问题