如何查询按` `timestamp` p`排序的dynamodb表?

我有一个dynamodb表,它的分区键为ID,排序键为timestamp。我需要查询表以查找基于timestamp列的最新100行。当我检查query接口时,我必须指定KeyConditions or KeyConditionExpression。在这种情况下,我不想查询分区键。我该怎么做呢?

scan操作似乎不支持对结果进行排序。

我能想到的一个解决方案是在表上添加一个属性,比方说status,并为表中的每一行分配相同的值。然后在表上创建一个GSI,分区键为status,排序键为timestamp。然后,我可以查询分区键等于OK的表,并根据timestamp对结果进行排序。然而,这种解决方案在规模方面并不能很好地发挥作用。GSI将不能很好地缩放,因为表中的每一行都有相同的status值。

那么,我的问题的最佳解决方案是什么呢?我不应该考虑使用dynamodb吗?

转载请注明出处:http://www.wje4.com/article/20230526/1127161.html