我有许多我需要用于各种页面加载和其他后端任务的属性,我正在讨论是将这些东西存储在数据库中还是动态计算它们。
例如,如果有用户可以上传的文件,并且您想跟踪大小、占用的空间、格式等,最好将这些东西计算一次并将它们与文件在数据库中的位置一起存储,还是每次都抓取文件并手动获取文件属性?
另一个用例是购物车项目。是计算一个项目的价格并将其存储在购物车表的一行中,还是在每次加载页面时计算给定的价格更好。在这种情况下,一旦将商品添加到购物车,将不会反映基于站点范围内的销售、折扣、加价等的价格更改,除非在应用销售/折扣/加价时通过其他方法更新价格. 这不是最好的例子,但希望你能理解这个想法;也许你有一个更好的例子。
在这两个示例中,都可以使用源材料来获取问题的关键答案。显然,每个页面加载的开销很大,具体取决于具体情况,但是另一个似乎对数据库完整性的依赖较少,以确保它始终准确和最新(我我想我更喜欢)。我不是在这里寻找具体的答案,因为我确信这将取决于许多变量,但我正在寻找最佳实践或确定最佳解决方案的方法。
注意: 这是一个类似的问题,但得到的回应很少,也没有答案。