延迟mysql查询然后批量运行

时间:2011-07-30 15:13:34

标签: php mysql caching widget

我有一个显示多篇文章的小部件。对于每篇文章,大约有2个选择和1个插入/更新。

最糟糕的情况是一个小部件显示300篇文章,这涉及900个查询以及小部件的其他设置查询,这确实减慢了小部件的速度。现在想象一下,有时候同时由5个用户加载小部件。

我在想是否应该为每个小部件收集所有查询,然后将它们写在文件中。稍后会定期运行一个cron作业,每30秒执行一次这些查询。

这会对性能产生多大影响。此外,是否有其他人有更好的系统或想法。

youtube等网站用于缓存YouTube视频的观看次数。

我无法再优化小部件。我想要一个延迟页面计数器的解决方案,让我们说/

1 个答案:

答案 0 :(得分:0)

使用cron作业完成这项繁重的工作并不是一个坏主意:只需让你的cronjob生成HTML输出,并在显示页面时使用PHP代码中的HTML。

这样:

  • 页面将快速显示:只有一个静态HTML数据/文件包含/读取
  • 永远不会有超过1个用户(cronjob)进行所有重要的查询。


但是,严肃地说,900个查询小部件? 3个查询单个文章?
这里确实有一些值得改进的地方!