我有许多页面加载和其他后端任务所需的属性,我正在辩论是否将这些内容存储在数据库中或即时计算它们。
例如,如果有用户可以上传的文件,并且您想要跟踪大小,占用的空间,格式等,那么最好一次计算这些内容并将它们与文件的位置一起存储在数据库,还是每次都抓取文件并手动获取文件属性?
另一个用例是购物车物品。计算商品的价格并将其存储在购物车表中还是更好,还是每次页面加载时都计算给定的价格,是更好的选择?在这种情况下,一旦将商品添加到购物车,基于站点范围内的销售,折扣,加价等对价格的更改将不会反映出来,除非应用销售/折扣/加价时通过另一种方法更新价格。这不是最好的例子,但是希望您能理解这个想法。也许你有一个更好的例子。
在这两个示例中,都可以使用源材料来获取答案,这是问题的关键。显然,根据情况的不同,每个页面加载的开销可能会很大,但是从确保始终准确和最新的角度来看,另一个似乎对数据库完整性的依赖性较小。以为我更喜欢)。我不是在这里寻找具体的答案,因为我确定这将取决于许多变量,但是我正在寻找一种最佳实践或一种确定最佳解决方案的方法。
注意::This是一个类似的问题,但答复很少,没有答案。
答案 0 :(得分:0)
两者之间可能会取舍
我们不能说在您的系统中重新计算事物将有多快。如果您有一些SQL代码,我们可以帮助您加快速度。
有时,在计算机科学中,事物发生变化时执行计算会更快;有时在请求时计算速度更快。听起来您的情况是,请求时计算更慢。如果不是“太慢”,那么该选项可能是可行的。