假设我们在数据库中有一些“X”项,可以评级。额定值单独保存在单独的表中。整体评级是用非常复杂的公式计算的,这使得在纯MySQL中实现它几乎是不可能的。
我要问的问题是:如何处理这样的架构以实现以下目标:
我的想法是:每次添加,更改或删除评级时,该值都会缓存在表格中带有项目“X”的特殊列中。问题是,如果两个人同时评价会发生什么。有MySQL事务 - 它们是正确的方法吗?如果是这样,怎么做对了?
另一个想法是让cronjob每x分钟或几小时计算一次评级,但是当数据库变得非常大时,它将花费很长时间,并且可能使服务器超载。此外,用户可见的分类并不总是准确的。
我对这个问题非常绝望。