我可以想到三个选项来获取DynamoDB表中的项目总数。
>第一个选项是使用扫描,但是扫描功能是低效的,通常是一个糟糕的做法,特别是对于具有沉重读取或生产表的表。
>第二个选项是Atharva提到的:
A better solution that comes to my mind is to maintain the total
number of item counts for such tables in a separate table, where each
item will have Table name as it’s hash key and total number of items
in that table as it’s non-key attribute. You can then keep this Table
possibly named “TotalNumberOfItemsPerTable” updated by making atomic
update operations to increment/decrement the total item count for a
particular table.
唯一的问题是增量操作不是幂等的。所以如果一个写作失败或者你写的不止一次,这将反映在计数中。如果您需要针尖精度,请改用条件更新。
>最简单的解决方案是返回ItemCount的DescribeTable。唯一的问题是计数不是最新的。计数每6小时更新一次。