PHP :: PDO多次打开/关闭连接

时间:2011-08-30 13:50:47

标签: php mysql pdo

让我说我有一个调用PHP :: PDO的函数,该函数打开一个连接,运行MySQL,关闭连接,返回一些数据。

我没有看到任何严重的问题,但有什么理由说这是一个不好的做法?这样做有什么风险?

3 个答案:

答案 0 :(得分:2)

我没有发现任何风险,但建立连接存在网络延迟。当您刚刚连接到localhost时,它可能会正常工作,但如果您为每个HTTP请求建立多个连接,并且您希望移动到辅助数据库服务器,那么您的应用程序可能会出现扩展问题原因。

PHP页面本质上是单线程的,所以除非你自己启动多个线程,否则没有(额外的)并发问题。使用InnoDB和SQL事务来帮助防止多个请求之间的并发问题仍然是一个好主意。

答案 1 :(得分:1)

多次打开和关闭连接涉及相当多的开销。在它成为性能问题之前,这并不是一件大事。如果它确实成为问题,您将需要修改它以在脚本持续时间内保持连接打开,并为多个数据库事务重用相同的连接。这是一种相当普遍的做法。

如果每个脚本没有固定(和小)数量的数据库事务,我建议不要在每个操作上连接和拆除连接。而是打开它一次并保持连接直到脚本终止。

答案 2 :(得分:0)

只要您没有更多的查询要运行,我就不会将此视为一个问题。