CakePHP 2,Mysql - 如何通过评级与个人评级来处理排序

时间:2014-09-12 23:29:29

标签: php mysql cakephp

假设我们在数据库中有一些“X”项,可以评级。额定值单独保存在单独的表中。整体评级是用非常复杂的公式计算的,这使得在纯MySQL中实现它几乎是不可能的。

我要问的问题是:如何处理这样的架构以实现以下目标:

  • 存储个人评级
  • 按整体评分快速排序?

我的想法是:每次添加,更改或删除评级时,该值都会缓存在表格中带有项目“X”的特殊列中。问题是,如果两个人同时评价会发生什么。有MySQL事务 - 它们是正确的方法吗?如果是这样,怎么做对了?

另一个想法是让cronjob每x分钟或几小时计算一次评级,但是当数据库变得非常大时,它将花费很长时间,并且可能使服务器超载。此外,用户可见的分类并不总是准确的。

我对这个问题非常绝望。

0 个答案:

没有答案