我正在与几个软件开发人员开会,被建议在我的应用程序代码中尽快关闭数据库连接?有人可以告诉我在应用程序中保持连接打开有什么危害。
我正在从数据库的单个表中读取数据
最佳答案
把它想象成公共(public)汽车上的座位。
当您打开连接时,您会填满这些座位 - 最终,公共(public)汽车已满,无法再接收乘客(或打开更多数据库连接)。每当公共(public)汽车因为满员而不得不拒绝乘客时,该乘客就必须等待另一辆公共(public)汽车经过。
通过在完成连接后关闭连接,您可以为更多连接腾出空间 - 这意味着更多需要与数据库交互的程序可以执行它们需要的操作,而无需等待连接释放向上。不关闭连接意味着数据库需要弄清楚如何处理周围的所有连接,如果您的数据库没有像打开新连接那样快速关闭连接,这可能会导致问题。
当您使用连接池时,这会发生变化(请参阅下面的评论);在这些情况下,您会希望您的池为您处理打开和关闭连接。如果您没有汇集您的连接,那么让它们打开的时间超过您需要的时间就是在浪费资源。
关于database - 保持数据库连接打开是否昂贵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11659228/