database - 保持数据库连接打开是否昂贵?

标签 database session

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

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

最佳答案

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

当您打开连接时,您会填满这些座位 - 最终,公共(public)汽车已满,无法再接收乘客(或打开更多数据库连接)。每当公共(public)汽车因为满员而不得不拒绝乘客时,该乘客就必须等待另一辆公共(public)汽车经过。

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

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

关于database - 保持数据库连接打开是否昂贵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11659228/

相关文章:

php - PostgreSQL 到 XML(包含 3 个表)

MySQL 基准测试,预生产

sql - 我应该如何将统计数据保存到数据库

带有字符串列的 SQL Between 子句

php - php 在使用 redis 存储 session 时如何处理被破坏的 session ?

django - 我应该为我的电子商务网站使用 JWT 还是 session ?

php - 在一页或所有页面上写 session 开始?

python - 将Python中值为0的数据单元格与pandas夹在中间

java - 如何拦截 session 结束并获取属性?

PHP $_SESSION 变量不会取消设置