我正在开发一个在单个页面上与数据库多次交互的网站。目前,我在脚本顶部打开一个连接,并在每次查询后关闭它(在脚本底部)。
但是我读了一篇文章,强调每次查询后关闭连接的重要性,如果需要进行另一个查询,请重新打开它。
这似乎不切实际,因为它会显着增加执行时间。
另一方面,我知道有些人甚至不关闭连接。
所以我的问题是:一般来说,哪种方法最好?在整个脚本中保持连接打开,或者为每个查询打开/关闭它?是否值得关闭连接?
我知道还有其他相关主题,但它们似乎都有相互矛盾的答案。
谢谢!
我正在开发一个在单个页面上与数据库多次交互的网站。目前,我在脚本顶部打开一个连接,并在每次查询后关闭它(在脚本底部)。
但是我读了一篇文章,强调每次查询后关闭连接的重要性,如果需要进行另一个查询,请重新打开它。
这似乎不切实际,因为它会显着增加执行时间。
另一方面,我知道有些人甚至不关闭连接。
所以我的问题是:一般来说,哪种方法最好?在整个脚本中保持连接打开,或者为每个查询打开/关闭它?是否值得关闭连接?
我知道还有其他相关主题,但它们似乎都有相互矛盾的答案。
谢谢!
它依赖伙伴:),通常一些开发人员在高峰时间保持打开连接,但这对于保持(外部)连接处于活动状态并不好。
最佳做法是将连接保持打开超时,例如保持连接打开 10 秒,然后在连接空闲时将其关闭。
另外还要提一下pool,数据库通常会提供连接池供外部访问,也就是说数据库准备x(256)个连接,所以下次连接的执行时间会减少,因为之前已经准备好了,这取决于数据库行为,例如一个数据库将再次回收一个关闭的连接并将其用于另一个请求,而另一个数据库将创建一个连接并将外部请求作为会话处理。
但通常建议不要保持数据库连接打开,因为它会占用一些资源(您无法管理它们的外部资源),这会导致性能降低。
和+1的好问题:)。