database - 数据库连接与 session 相同吗?

标签 database jdbc database-connection connection-pooling transaction-isolation

我对a之间的关系有点困惑

  • 数据库打开 session
  • 连接池

详细来说,我将 JDBC 与 Oracle 9i DB 一起使用,并且还使用连接池来汇集我的连接。

我想知道的是:当我的连接在池中闲置时,它们是否与数据库的任何 Open Session 相关联?所以如果我有 5 个连接在池中闲置,是否意味着我的数据库将有 5 个相应的事件 session 打开?

最佳答案

好的..我从其他论坛得到了一些答案:

这完全取决于池的实现。它们似乎有一段时间与打开的 session 相关联,然后如果连接一段时间未使用, session 将关闭,并在再次需要时重新建立。

在一段时间内不让它们保持打开状态意味着在请求快速到来时浪费建立连接的开销。让它们永远开放会无缘无故地占用有限的资源。这两者都违背了我对首先拥有连接池的意义的理解。

关于database - 数据库连接与 session 相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5727102/

相关文章:

r - 如何在 r 中创建一个唯一的 ID 来消除字符串歧义?

php - 对 SQL 列进行分组并计算结果

java - 未触发 JDBC Microsoft SQL 超时

php - 如何连接位于不同服务器上的两个 MySQL 数据库中的表?

java - 将java代码连接到mysql时遇到问题

sql - 如何在 QuestDB 上使用滞后(偏移)窗口函数?

postgresql - PostgreSQL JDBC 驱动程序中的 getSchema 抛出 java.lang.AbstractMethodError 或 java.sql.SQLFeatureNotSupportedException

mysql - 来自数据库的实体类....错误无效资源_pm

pointers - 如何跨包中的文件使用全局变量?

mysql - 需要设计数据库方面的帮助