获取我的 dynamodb 中存储了多少不同对象的最有效方法是什么?
例如我的对象有十个属性,我想根据 3 个属性获得不同的计数。
如果您需要计数器,最好使用 AtomicCounters ( http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithDDItems.html )。在您的情况下,DynamoDB 不支持由 3 个属性组成的开箱即用键,除非您将它们连接起来,因此可以选择创建一个冗余表,其中键是这 3 个属性的连接,并且每个属性都由您管理对象,还更新 AtomicCounter(添加、删除、更新 - 实际上不需要)。
然后您只需查询计数器,避免扫描。因此,提高检索数据的速度是空间复杂度。
使用适当的 ScanFilter 执行扫描(在这种情况下,三个属性为 not_null),并使用 withCount(true) 仅返回匹配记录的数量而不是记录本身。