一个页面中的查询请求太多

时间:2012-10-31 17:46:54

标签: php mysql

我正在尝试以更好的方式重新编写我的旧应用程序之一。它不是太大但加载它时会运行大约80个查询。但仍然在2秒内在浏览器中加载。我可以优化一些查询,没关系。我的问题是我应该担心这个还是一切都好。加载页面的平均查询请求应该是什么?我想知道标准限制。

3 个答案:

答案 0 :(得分:2)

我首先不会触及查询,而是通过衡量这些查询需要多长时间

  • 数据库连接/数据库查询
  • 后端处理(业务)逻辑
  • 网络滞后
  • HTML呈现+任何javascript执行

任何这些都可能是罪魁祸首,或者甚至可能是别的东西。但可能是其中之一。当你知道究竟是什么花时间时,它应该指出你在纠正这种情况时的正确方向。

做一些真正的性能测试来备份这些数字并没有伤害,无论是......

答案 1 :(得分:1)

查询每页没有限制。你确实有超时限制,但你显然很好。

如果你循环n个结果,即。在嵌套数据模型中,这完全没问题。 如果你不是,我相信这是有原因的。页面加载2秒有点长,但我当然对你的页面一无所知。

页面上的80个查询真的没有错,我只问自己这个问题,为什么?

查找长查询的简单技巧,查看实际查询需要多长时间:

$start = microtime(1);
mysql_query('SELECT blah blah');
echo (microtime(1) - $start);

答案 2 :(得分:1)

每页没有“标准查询计数”。例如,您可以使用“联接”,这可能会消除个别查询的数量!

然而,我更担心你的“不到2秒”加载暗示它超过1秒!如果它是针对公共用户(例如,不是内联网),那么即使在适度的计算机上也应该低于0.5秒!为了帮助实现这一点,请确保整个页面的输出缓冲为ON(在php.ini中设置),因为这将大大提高页面加载速度。有关输出缓冲和更多信息,请参阅压缩请看我的帖子:Flushing the HTML document early - with ini_set( 'zlib.output_compression','ON')?