0

我有许多我需要用于各种页面加载和其他后端任务的属性,我正在讨论是将这些东西存储在数据库中还是动态计算它们。

例如,如果有用户可以上传的文件,并且您想跟踪大小、占用的空间、格式等,最好将这些东西计算一次并将它们与文件在数据库中的位置一起存储,还是每次都抓取文件并手动获取文件属性?

另一个用例是购物车项目。是计算一个项目的价格并将其存储在购物车表的一行中,还是在每次加载页面时计算给定的价格更好。在这种情况下,一旦将商品添加到购物车,将不会反映基于站点范围内的销售、折扣、加价等的价格更改,除非在应用销售/折扣/加价时通过其他方法更新价格. 这不是最好的例子,但希望你能理解这个想法;也许你有一个更好的例子。

在这两个示例中,都可以使用源材料来获取问题的关键答案。显然,每个页面加载的开销很大,具体取决于具体情况,但是另一个似乎对数据库完整性的依赖较少,以确保它始终准确和最新(我我想我更喜欢)。我不是在这里寻找具体的答案,因为我确信这将取决于许多变量,但我正在寻找最佳实践或确定最佳解决方案的方法。

注意: 是一个类似的问题,但得到的回应很少,也没有答案。

4

1 回答 1

0

之间可以有取舍

  • 当用户在等待时,经过的时间很关键。
  • 用户将期待最新的定价信息。
  • 如果用户订购了东西,他会感到沮丧,只是在他的订单提交之前发现您缺货。

我们不能说重新计算系统中东西会有多快。如果您有一些 SQL 代码,我们可以帮助您加快速度。

有时在计算机科学中,当事物发生变化时进行计算会更快;有时在请求时计算速度会更快。听起来您的情况是在请求时计算速度也较慢。如果它不是“太慢”,那么该选项可能是可行的。

于 2018-08-27T18:31:30.337 回答