0

我在数据库中有超过一百万种产品。每种产品的价格经常波动。我计划将这些价格波动存储在“价格历史”表中(product_id、price、validity_start_date、validity_end_date)。

当查找产品时,用户将通过 js 生成的图表从数据库输出的 json 中查看其价格历史。

我会以正确的方式解决这个问题吗?

(使用 rails 和 postgresql)。

4

1 回答 1

0

这真的取决于。从理论上讲,如果您为最近的部分设置部分唯一索引,那么您不需要遇到很大的性能问题(有一些特定的方法超出了这个答案的范围)。

但是,当使用 ORM 等时,这会变得非常混乱。一般来说,如果您要存储此类数据,我强烈建议您愿意做以下两件事之一:

  1. 您可以在可更新视图后面抽象您的存储(尽管您必须愿意编写和维护视图的更新逻辑)。

  2. 您可能愿意放弃使用 SQL。

尽管(随着时间的推移)数百万个零件乘以数千个历史价格在 ORM 上将非常烦人,而无法访问诸如部分索引之类的东西。

于 2013-10-29T09:15:59.247 回答