【发布时间】:2010-09-21 22:27:01
【问题描述】:
我在 php 中有一个 > x20000 循环,用于检查 MySQL 数据库中是否存在条目,我为循环中的每个条目打开和关闭连接,但一位朋友告诉我这太疯狂了,我应该打开一个连接,运行循环然后关闭它,但他没有告诉我为什么。有人可以向我解释重用同一连接的好处吗?是 CPU 使用率还是什么?
【问题讨论】:
标签: php database mysql database-connection
我在 php 中有一个 > x20000 循环,用于检查 MySQL 数据库中是否存在条目,我为循环中的每个条目打开和关闭连接,但一位朋友告诉我这太疯狂了,我应该打开一个连接,运行循环然后关闭它,但他没有告诉我为什么。有人可以向我解释重用同一连接的好处吗?是 CPU 使用率还是什么?
【问题讨论】:
标签: php database mysql database-connection
它不仅成本高昂,而且如果您有多个同时执行此操作的脚本的请求,您最终可能会遇到服务器上的连接限制,这样进一步的请求必须等待或被拒绝。
但正如@zerkms 所说,主要的是,这是一项昂贵的操作。大约六个月前,我做了一个在循环中重复连接的脚本,并将连接移到循环外,脚本的执行时间从 10-12 秒下降到不到 1 秒。
【讨论】:
是网络连接+mysql连接开销。连接需要一些时间,并且要明确这是“昂贵”的操作。
【讨论】: