多活动结果集(MARS)如何在SQL Server中工作?

时间:2014-07-25 15:04:50

标签: c# sql sql-server

只是想知道是否有人可以解释多个活动结果集(MARS)如何在SQL Server中工作,因为它在MSDN站点上不是很清楚。

(A)在MARS连接上,查询是执行异步还是请求进入异步但仍按顺序执行?

(B)在以下场景中执行10个并发调用1个存储过程的线程有什么区别:

  1. 为所有线程使用1个MARS连接(隐式创建10个会话)
  2. 使用10个连接(每个线程1个)?
  3. (C)如果使用MARS连接,您如何看待每个会话正在执行的SQL?

1 个答案:

答案 0 :(得分:4)

This answers all your questions.

一个。查询并行执行,就好像多个客户端已连接并执行它们一样,现在只能通过单个连接执行此操作。显然,它处理的实际方式是“复杂的”#34;但就客户而言,它们同时运行。

B中。 1个连接或10个连接之间的区别是共享服务器资源。例如,您只需要一个安全上下文。

℃。使用SQLServer Profiler。