10

获取我的 dynamodb 中存储了多少不同对象的最有效方法是什么?

例如我的对象有十个属性,我想根据 3 个属性获得不同的计数。

4

2 回答 2

4

如果您需要计数器,最好使用 AtomicCounters ( http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithDDItems.html )。在您的情况下,DynamoDB 不支持由 3 个属性组成的开箱即用键,除非您将它们连接起来,因此可以选择创建一个冗余表,其中键是这 3 个属性的连接,并且每个属性都由您管理对象,还更新 AtomicCounter(添加、删除、更新 - 实际上不需要)。

然后您只需查询计数器,避免扫描。因此,提高检索数据的速度是空间复杂度。

于 2013-12-12T14:24:48.410 回答
1

使用适当的 ScanFilter 执行扫描(在这种情况下,三个属性为 not_null),并使用 withCount(true) 仅返回匹配记录的数量而不是记录本身。

有关一些示例代码,请参阅文档

于 2013-04-09T18:00:05.823 回答