1

我进退两难,我知道我应该从一开始就使用 SQL DB。

我不确定是否可以为我的特定用例使用排序键。我有一个包含多个属性品牌、型号参考、参考...这些物品的价格。

现在对具有 300K+ 个项目的整个数据库进行扫描操作至少可以说不是很有成本效益,但这就是我所处的情况。

我的问题是我怎样才能最经济有效地做我想做的事?

4

1 回答 1

0

让表 T 只有一个分区键:ID

为了简单起见,您让您的客户选择n = 3属性:brandmodel-refreference

现在,使用分区键:brand_model-ref_reference和排序键:定义一个全局二级索引(GSI) ID。我建议您使用 Projection: ALL。

因此,当您的客户选择了它的 3 个值:ab、 时c,您所要做的就是使用 查询 GSI brand_model-ref_reference = "a#b#c"。您将有效地获取所有且仅获取计算平均值所需的项目。桌子的大小不再重要。

备注

  • 使用此解决方案,您必须提前确定标准的数量,并且客户必须为所有这些选择一个值。不太好。
  • 如果有更多的限制,那么所有的解决方案都会变得毫无用处。用它作为提示。:)
于 2018-10-12T23:53:15.047 回答