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