我是否需要排序键,还是应该使用 AWS DAX



我有一个两难的境地,我知道我应该从一开始就使用SQL DB。

我不确定是否可以为我的特定用例使用排序键。我有一个包含多个属性品牌、模型参考、参考的表格......我想做的是让用户选择品牌,然后选择模型,然后选择参考等,然后获得符合该标准的所有产品,并给出这些商品价格的平均值。

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

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

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

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

现在,定义一个全局二级索引 (GSI(,其中包含分区键:brand_model-ref_reference和排序键:ID。我建议你使用投影:全部。

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

注释

  • 使用此解决方案,您必须提前确定条件的数量,并且客户端必须为所有条件选择一个值。不太好。
  • 如果有更多的约束,那么所有的解决方案都将变得毫无用处。使用它作为提示。:)

最新更新