C#我应该在连接池中保持打开的连接吗

C#我应该在连接池中保持打开的连接吗,c#,database,C#,Database,我正在开发多线程应用程序(一个服务器),在这里我一次处理2000个客户端,并且在每个线程中打开MySQL数据库的单独数据库连接。因此,我启用了连接池。我搜索了许多块,在使用连接之后,我们应该关闭它,然后它将返回到池中,并将被其他线程使用。 另一方面,我们知道建立联系是一个耗时的过程。所以我的问题是为什么我们应该在连接池中关闭连接。什么是最好的保持连接打开或关闭它们 我们知道建立联系是一个耗时的过程 正确-这就是为什么我们有连接池。它们维护连接,因此您不会创建新的连接 为什么要在连接池中关闭连接

我正在开发多线程应用程序(一个服务器),在这里我一次处理2000个客户端,并且在每个线程中打开MySQL数据库的单独数据库连接。因此,我启用了连接池。我搜索了许多块,在使用连接之后,我们应该关闭它,然后它将返回到池中,并将被其他线程使用。 另一方面,我们知道建立联系是一个耗时的过程。所以我的问题是为什么我们应该在连接池中关闭连接。什么是最好的保持连接打开或关闭它们

我们知道建立联系是一个耗时的过程

正确-这就是为什么我们有连接池。它们维护连接,因此您不会创建新的连接

为什么要在连接池中关闭连接

因此,它们被返回到池中供其他线程使用


连接是昂贵的资源,因此您希望尽快打开、使用和关闭它们,以便它们返回池并可供其他线程使用。

当您“关闭”池中的连接时;您的意思是连接已完成,池可以再次使用它


调用Close不会实际中断连接。池有自己的逻辑来确定连接何时物理关闭。

感谢您回答Oded。谢谢Richard我认为连接在关闭时物理关闭。但事实并非如此。现在我已经清楚了连接池:)