PHP比MySQL执行查询需要更长的时间

jdb*_*org 2 php mysql

现在我必须首先说,我不能复制字符串.这是一个普遍的问题.

我有一个带有几个连接的查询,在使用mysql CLI运行时需要0.9秒.我现在正在尝试在PHP站点上运行相同的查询,这需要8秒钟.网站上有一些其他大型连接明显较慢,但这个字符串花费的时间太长了.我需要增加数据库连接的PHP缓存吗?或者这只是预期.

Boj*_*les 5

PHP对MySQL没有太大作用; 它将查询字符串发送到服务器,并处理结果.这里唯一的瓶颈是它是一个绝对庞大的查询字符串,或者如果你得到很多结果 - PHP必须缓存并将它们解析为一个对象(或数组,具体取决于mysql_fetch_*你使用的).不知道你的查询或结果是什么样的,我只能猜测.


(来自评论):如果我们有30列,比如一百万行,这需要一个年龄来解析(我们后来发现它只有10k行,所以没关系).你需要重新思考你的工作方式: -

  • 看看你是否可以减少结果集.如果你正在分页,你可以使用LIMIT子句.
  • 在MySQL查询中做更多事情; 而不是让PHP对结果进行排序,让MySQL通过使用ORDER BY子句来完成它.
  • 通过显式指定每个列名而不是,来减少您获取的列数SELECT * FROM ....