9

我正在和几个软件开发人员开会,并被建议在我的应用程序代码中尽快关闭数据库连接?有人可以告诉我在应用程序中保持连接打开有什么危害。

我正在从数据库的单个表中读取数据

4

1 回答 1

8

把它想象成公共汽车上的座位。

当您打开连接时,您会填满这些座位 - 最终,公共汽车已满并且不再接受乘客(或打开更多数据库连接)。任何时候公共汽车因为满员而不得不拒绝乘客,该乘客必须等待另一辆公共汽车过来。

通过在完成连接后关闭连接,您可以为更多连接腾出空间——这意味着更多需要与数据库交互的程序可以做他们需要做的事情,而无需等待连接释放。不关闭连接意味着数据库需要弄清楚如何处理周围的所有连接,如果您的数据库没有像打开新连接一样快地关闭连接,这可能会导致问题。

当您使用连接池时,这种情况会发生变化(请参阅下面的评论);在这些情况下,您会希望您的池为您处理打开和关闭连接。如果您没有汇集您的连接,那么让它们保持打开的时间超过您需要的时间就是浪费资源。

于 2012-07-25T21:59:11.230 回答