我有一个 DynamoDB 表。我在“Id”字段上有一个索引。
我还有其他字段 - 状态、时间戳等,但我没有这些其他字段的索引。
状态可以是“在线”、“离线”、“进行中”等。
我想根据“status”和“Id”字段获取记录数。
用户将传递 Id 字段,查询需要根据状态字段返回计数。例如
“在线”:20
“离线”:30
“进行中”:40
查询工作正常。
据我了解,DynamoDb 查询输出的最大大小为 1 MB。此限制在将任何 FilterExpression 应用于结果之前应用。
由于表中的记录数很大(大约 100k),我需要通过传递“独占开始键”参数一次又一次地执行查询。
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination
事实上,我需要在循环中运行多个查询(每个状态值一个),以根据“状态”字段计算计数。
有没有有效的方法来检索这些计数?
我也在考虑将索引扩展到状态字段。因此它将消除应用过滤器表达式的需要。