如何使用> 100个mysql查询来加速页面?

时间:2014-02-05 08:52:13

标签: php mysql sql optimization

我的网站上有一个PHP页面,它使用了超过100个mysql查询。所有查询都不同,并且只是来自多个表的SELECT个查询。平均而言,页面加载大约需要5秒钟,我希望能够改善这段时间。

我有什么优化方法?我做了一些研究,并研究了memcache(我不知道它是如何工作的,它能做什么或者它是否适用于我的情况,所以可以得到帮助),但正如我所说,我不知道如果这适用于我的情况。

我还在考虑一个查询缓存程序,但不知道我能使用什么?

任何帮助?

2 个答案:

答案 0 :(得分:4)

MySQL有很多选择。

首先在MySQL配置中设置Query Cache。如果您的计划为SELECT,请尝试将low-priority-updates设置为开启。这使服务器上的SELECT语句具有更高的优先级,而INSERT / DELETE / UPDATE语句的优先级更低。

改变MySQL对内存的使用可能是一个好主意,特别是如果你使用了很多JOIN语句 - 我通常将join_buffer_size设置为大约8M。

从PHP的角度来看,试试caching results

编辑:forum page发布的Suresh Kamrushi下的类是一种很好的PHP缓存方式。

答案 1 :(得分:1)

以下是可能有助于优化页面加载的一些要点:

MySQL的:

  1. 启用查询缓存
  2. 仅选择特定列,避免从语法
  3. 中选择*
  4. 避免与内部相关的内部查询
  5. 使用索引
  6. 避免过多查询。如果可能,请尝试使用联接/联盟

  7. PHP:

    1. 使用单例方法避免多个数据库实例
    2. 如果可能,请尝试在SQL中进行计算。
    3. HTML:

      1. CDN并行加载images / js / css
      2. 精灵图片
      3. JS包含在页脚