我进退两难,我知道我应该从一开始就使用 SQL DB。
我不确定是否可以为我的特定用例使用排序键。我有一个包含多个属性品牌、型号参考、参考...这些物品的价格。
现在对具有 300K+ 个项目的整个数据库进行扫描操作至少可以说不是很有成本效益,但这就是我所处的情况。
我的问题是我怎样才能最经济有效地做我想做的事?
我进退两难,我知道我应该从一开始就使用 SQL DB。
我不确定是否可以为我的特定用例使用排序键。我有一个包含多个属性品牌、型号参考、参考...这些物品的价格。
现在对具有 300K+ 个项目的整个数据库进行扫描操作至少可以说不是很有成本效益,但这就是我所处的情况。
我的问题是我怎样才能最经济有效地做我想做的事?
让表 T 只有一个分区键:ID
。
为了简单起见,您让您的客户选择n = 3
属性:brand
、model-ref
、reference
。
现在,使用分区键:brand_model-ref_reference
和排序键:定义一个全局二级索引(GSI) ID
。我建议您使用 Projection: ALL。
因此,当您的客户选择了它的 3 个值:a
、b
、 时c
,您所要做的就是使用 查询 GSI brand_model-ref_reference = "a#b#c"
。您将有效地获取所有且仅获取计算平均值所需的项目。桌子的大小不再重要。
备注: