有一个用例,其中需要维护对数据库开放的连接,以便定期执行查询.
建议在执行查询后关闭连接,然后在句点间隔(10分钟)后重新打开它.我猜不会,因为打开与数据库的连接是昂贵的.
连接池是替代方案并继续使用连接吗?
您应该使用连接池.编写应用程序代码以从池请求连接,使用连接,然后将连接返回池.这样可以保持代码清洁.然后,您依赖池实现来确定管理连接的最有效方法(例如,保持它们打开与关闭它们).
通常,打开连接"昂贵",通常是由于设置TCP/IP连接,身份验证等的开销.但是,保持连接打开"太长"也很昂贵,因为数据库(可能)已经预留了连接使用的资源(如内存).因此保持连接打开可以占用这些资源.
您不希望污染管理这些类型的效率权衡的应用程序代码,因此请使用连接池.