对于需要数据库连接的应用程序,会出现一个困境:数据库连接应该持续保持打开状态,还是仅在以下情况下打开和关闭:需要吗?
关闭连接以提高性能
打开数据库连接会产生性能开销。因此,长时间保持连接打开可能会导致系统资源紧张。相比之下,仅在必要时打开和关闭连接可以最大限度地减少性能损失。
示例代码:
Pre-Java 7:
<code class="java">Connection con = null; try { con = ... //retrieve the database connection //do your work... } catch (SQLException e) { //handle the exception } finally { try { if (con != null) { con.close(); } } catch (SQLException shouldNotHandleMe) { //... } }</code>
Java 7:
<code class="java">try (Connection con = ...) { } catch (SQLException e) { } //no need to call Connection#close since now Connection interface extends Autocloseable</code>
使用数据库连接池提高效率
手动打开和关闭数据库连接可能很麻烦而且成本高昂。要优化性能,请考虑使用连接池。该池维护已建立的连接池,从而消除了昂贵的连接建立和终止的需要。当您关闭池中的连接时,它会进入“睡眠”模式并保持可供将来使用。
相关资源:
数据库连接池工具:
以上是打开或关闭:何时应管理数据库连接?的详细内容。更多信息请关注PHP中文网其他相关文章!