2014-10-17 45 views
1

我想知道是否有方法可以并行运行多个SELECT查询或存储过程?很长一段时间我使用一个存储过程,它看起来象下面这样:并行查询多个SQL Server表

SELECT 1....... 

SELECT 2 ....... 

SELECT 3 ....... 

然后我DataSet与多个数据表。

现在我想运行每个SELECT语句并行。我不确定我是否可以使用相同的SqlConnection来执行此操作,或者我必须为每个查询使用单独的连接?

我必须使用线程吗?

+0

每个select语句是否返回相同的列或不同的列? – 2014-10-17 08:37:29

+0

不同。这个SELECT语句也可以是存储过程。 – ironcurtain 2014-10-17 08:48:31

+0

@kumarch这是如何影响性能的?什么是查询多个表/视图的最佳方式,例如。在页面中的下拉列表?将创建多个连接提高性能? – ironcurtain 2014-10-17 10:50:30

回答

1

SQL Server将按照上述操作,在同一会话中按顺序运行所有3个SELECT。

如果要并行执行所有3个SELECT,则必须通过任何脚本(如C#或VBA)来调用3个线程(3个SPID,通过创建单独的连接)并执行。但如果他们能够完全平行运行,仍然不能保证。