使用许多查询优化PHP页面

时间:2010-08-17 19:18:08

标签: php mysql optimization

所以我有一个我正在研究的网站,随着时间的推移已被许多开发人员所感动,随着新功能的出现,当时的开发人员认为有必要添加另一个查询来获取所需的数据。这让我有一个很慢的php页面,可能会运行70个查询。有些查询在本页的实际PHP文件中,有些查询分散在许多不同的函数中。现在我有责任尝试加快页面以满足某些要求。我正在寻求最好的行动方案。

  1. 有没有办法打印所有正在运行的查询然后浏览文件并查找每个查询?
  2. 我应该使用memcached缓存速度慢的查询吗?
  3. 是否有人知道有人必须帮助我加快页面速度?
  4. 是否有用于分析查询的插件或工具,我使用YSlow并且没有任何内容可以查看查询?

2 个答案:

答案 0 :(得分:3)

我所做的就是拥有一个my_mysql_query(...)函数,该函数的行为与mysql_query(...)相同,但我可以根据查询的文本定制执行时间。 MySQL可以使用非常少的小问题记录慢速查询 - 请参阅here

答案 1 :(得分:1)

  1. 如果没有调用中央查询方法来运行每个查询,那么唯一的选择是查找每个查询并找到它在代码中的位置。否则,您可以转到该查询函数并打印通过它运行的每个查询。

  2. 使用缓存取决于数据更改的频率。如果它经常更改,它可能不会为您提供任何性能提升来缓存它。

  3. 帮助您加快页面速度的一个想法是执行以下操作:

    • 将查询分组到同一查询中并使用多个部分中的数据
    • 考虑将页面分成多个位置
  4. 取决于您使用的数据库。某些数据库中有分析功能可帮助您优化查询。例如,您可以将EXPLAIN与mysql一起使用。 (http://dev.mysql.com/doc/refman/5.0/en/explain.html)您可能需要考虑就此问题咨询DBA。

  5. 祝你好运。