【发布时间】:2013-02-17 13:06:03
【问题描述】:
我正在编写一个基本代码来访问数据库中的查询以获取警报系统。我知道工作中的数据库(基于 Oracle)会自动创建一个连接池,我想知道如果我每 5-15 秒连接、执行查询和 关闭连接,性能会急剧下降吗?这是正确的方法还是我必须保持连接打开直到无限循环关闭?
我有人告诉我,关闭连接会导致数据库每次都必须从头开始查找查询,但如果我让它保持打开状态,查询将在数据库某处的缓存中。
ResultSet rs1 = MyStatement.executeQuery(QUERY_1);
while (rs1.next()){
// do something
}
rs1.close();
rs1 = MyStatement.executeQuery(QUERY_2);
while (rs1.next()){
// do something
}
rs1.close();
【问题讨论】:
-
Oracle 不会自动创建连接池。并且上面的代码不会关闭任何连接。它只关闭结果集。
-
我同意@JBNizet :您的示例代码没有说明您提出的问题。所以,投票结束。