DynamoDB从带有分页(无PK)的表中选择所有项目的最佳实践



我只想从我的表中获取一个产品列表并进行分页,last_evaluated_key的分页部分相对清晰,但所有的例子都在PK或SK上使用,但在我的情况下,我只想按createdAt排序获得分页结果。

在这种情况下,我的产品id(uniq-uuid(不是很有用。最后的解决方案是扫描整张桌子吗?

是的,您将使用Scan。DynamoDB有两种类型的读取操作,QueryScan。可以对一个且仅一个Partition Key使用Query(如果表具有复合主键,则可以选择一系列Sort Key值(。其他一切都是Scan

扫描操作读取每个项目,最大1MB,可选过滤。过滤器在读取后应用。结果未排序。

SDK有像paginateScan这样的分页助手,可以让生活更轻松。

回复:成本。问问自己:"Scan是否返回了大量我实际上不需要的数据MB">如果答案是"em>";否",你很好。然而,过度蚀刻越多,Query相对于Scan的成本效益就越大。

最新更新