冗长的页面加载时间

时间:2012-08-21 08:18:34

标签: php codeigniter

我的页面需要12秒才能加载!

该页面需要显示由SQL计数查询生成的20个不同的数据项。

没有选项来组合查询,因为每次SQL都不同。

我已尝试索引相关表格,但无济于事......

我还考虑过实现memcache和使用页面缓存。

我正在使用流行的codeigniter php框架。

有人有任何建议吗?

2 个答案:

答案 0 :(得分:0)

在更新单独的“计数”表时创建一个在命令行中执行计数的cron。因此,您将在计数表中有20个条目,您可以在一个查询中请求所有条目。 在页面加载期间仅查询该表。

你可以自己决定cron运行的频率,但要确保它不会花太长时间,否则只需将不同的count-update-process分成不同的cron文件(或命令)。

答案 1 :(得分:0)

我想它可能是微不足道的,但是你在每个COUNT()查询中实际返回了多少个字段?我在过去听说过使用COUNT(),你实际上最好使用COUNT(*)之类的东西,而不是COUNT(columnname),因为数据库可以基于任何列最快的方式。

也可能值得看看CodeIgniter的数据库缓存类 - 这听起来就像那种有用的情况。

CodeIgniter的Profiler类对于这样的事情非常方便。如果您启用它并使用它生成的报告来了解每个查询所花费的时间,您可以至少优化其中一些查询。

此外,您可能需要考虑使用字节码缓存 - APC非常好,并且似乎与CodeIgniter一起使用。据我所知,它不会加速实际的数据库事务,但它可能通过加快PHP执行速度来提高应用程序的速度。