0

我将使用 Rails/PostgreSQL 制作一些 Web 应用程序,我需要你对一个数据库结构的建议。有 2 张桌子:商店和反馈。“商店”必须存储一些基本信息:名称、地址等。“反馈”必须存储有关反馈的信息:描述、用户对商店的评价。Web 应用程序必须显示商店及其平均评分。我可以将有关评级的所有信息存储在“反馈”表中,并使用 SQL 函数计算平均值(通过 shop_id 获取所有反馈,将其相加并除以反馈数)。但是,在“shops”表中添加 2 个附加字段“rating”、“count_of_feedbacks”可能会更好吗?请给我建议。

4

1 回答 1

1

在知道它是否会变慢之前,您正在描述的事情(创建附加字段“以更快地完成”)称为过早优化。蚂蚁是个坏东西。一件非常非常糟糕的事情。

你也想在你的数据库中复制数据——这也是一件坏事。您必须rating为每次更新维护正确的版本 - 这对于多个并发事务/连接来说并不容易。

我的建议 - 保持简单,只在性能问题成为现实时才修复它们。在现代数据库中有很多方法可以修复它们。

于 2013-10-03T18:00:22.957 回答