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

时间:2012-12-10 10:48:09

标签: c# database

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

2 个答案:

答案 0 :(得分:6)

  

我们知道连接制作是一个耗时的过程

正确 - 这就是我们有连接池的原因。他们保持联系,所以你不会创建新的。

  

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

因此它们将返回池中以供其他线程使用。

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

答案 1 :(得分:1)

当你'关闭'一个汇集的连接时;你说你完成了连接,池可以再次使用它。

呼叫关闭不会实际断开连接。池有自己的逻辑来确定连接何时被物理关闭。