我想知道我是否应该费心去改变我的系统。
当前,当查看视频时,它会运行一个查询
UPDATE table SET hits=hits+1 WHERE id = $id.非常简单,除了它们总是出现在缓慢的查询日志中,有时只有3-4秒的query_time。
如果我将每个视图作为新行插入到内存表中,并每小时使用cron提交对DB的更改,会怎么样?性能上会有很大的不同吗?还有别的选择吗?
发布于 2009-09-20 18:43:03
您可能希望检查您是否有id的索引,因为更新应该不会花费太多时间。这是你能做的最简单的更新,所以你不能真的加速它。
如果是这样的话,我认为您的数据库还有其他问题。
发布于 2009-09-20 19:18:21
我可能会以你所想的方式来处理。将视图记录到针对写入而优化的简单表中,并定期更新视图计数并清除日志表。
对于您所看到的这种流量,您可能会发现,如果您每小时运行cron一次以上,那么这样的系统将工作得很好。
不过,正如Mark所说,您可能还有其他需要解决的问题。
https://stackoverflow.com/questions/1451664
复制相似问题