2010-09-21 118 views
0

我在php中有一个> x20000循环来检查一个条目是否存在于MySQL数据库中,我打开&关闭循环中每个条目的连接,但是有朋友告诉我这很疯狂,我应该打开一个连接,运行循环,然后关闭它,但他没有告诉我为什么。有人能解释我重用相同连接的好处吗?是CPU使用率还是什么?打开一个MySQL连接vs打开和关闭很多连接?

回答

2

不仅价格昂贵,而且如果您有多个请求同时进行脚本,您最终可能会遇到服务器上的连接限制,从而导致进一步的请求必须等待或被拒绝。但是,正如@zerkms所说,最主要的是这是一项昂贵的操作。大约六个月前,我采用了一个脚本,在循环中重复连接,并将连接移到循环外部,脚本的执行时间从10-12秒降至1秒以下。

2

这是网络连接+ mysql连接的开销。它需要一段时间才能连接,并清楚它是“昂贵的”操作。