Sql server 我们可以使用单个数据库连接从多个线程同时执行多个数据库select语句吗?

Sql server 我们可以使用单个数据库连接从多个线程同时执行多个数据库select语句吗?,sql-server,database,multithreading,Sql Server,Database,Multithreading,我希望使用来自多个线程的单个数据库连接来同时读取(或仅执行select语句)MS SQL Server中的数据。可以从不同的线程同时执行所有这些select语句吗 < >我在Linux环境下使用C++的MS SQL Server。我需要创建数据库连接池,以便分别读取和写入。所以我想知道是否有可能在线程之间共享一个只读的相同连接 select语句可能返回多行(多行或结果集)。这会有问题吗?是的,会有问题。一次只能执行一个命令。 但是您可以使用多个连接,连接池对于SQL server非常有用。不要跨

我希望使用来自多个线程的单个数据库连接来同时读取(或仅执行select语句)MS SQL Server中的数据。可以从不同的线程同时执行所有这些select语句吗


< >我在Linux环境下使用C++的MS SQL Server。我需要创建数据库连接池,以便分别读取和写入。所以我想知道是否有可能在线程之间共享一个只读的相同连接


select语句可能返回多行(多行或结果集)。这会有问题吗?

是的,会有问题。一次只能执行一个命令。
但是您可以使用多个连接,连接池对于SQL server非常有用。

不要跨线程使用相同的连接。每个连接只能执行一个命令。为每个线程创建一个连接。我建议创建一个助手类,让您更轻松

我想使用来自多个线程的单个数据库连接来读取(或仅执行select) 在MS SQL Server中的

你应该开始阅读文档,而不是开始有有趣的想法,你想要什么在这里很重要

是的,您可以这样做(MARS是主题-阅读它),但是一个连接总是只能有一个事务上下文,因此它是在一个事务中进行ahvem多个选择的好方法(insert、两个UPSERT等),但作为编程数据库连接的一般方法是不好的


遵循以下方法,即在需要时打开一个附件,完成后关闭,不要害怕运行多个连接。

的确如此。只要需要,随时创建新连接。让.Net为您管理可用的连接。连接池是一个很好的东西,我在Linux环境下使用C++的SQL Server。我需要创建数据库连接池,以便分别读取和写入。所以我想知道是否有可能在线程之间共享一个只读的相同连接。