Amazon dynamodb 在AWS DynamoDB中使用二级索引时,LastEvaluatedKey包含什么?
假设我有一个DynamoDB表T,其中H、R、G和s是属性;H是分区/哈希键,R是范围/排序键。假设我还有一个全局二级索引(GSI),它的定义是分区键为G,排序键为s 当使用GSI执行查询时,给出分页结果,LastEvaluatedKey中应该包含哪些属性?我已经阅读了文档,但没有给出详细信息。它会返回Amazon dynamodb 在AWS DynamoDB中使用二级索引时,LastEvaluatedKey包含什么?,amazon-dynamodb,dynamodb-queries,Amazon Dynamodb,Dynamodb Queries,假设我有一个DynamoDB表T,其中H、R、G和s是属性;H是分区/哈希键,R是范围/排序键。假设我还有一个全局二级索引(GSI),它的定义是分区键为G,排序键为s 当使用GSI执行查询时,给出分页结果,LastEvaluatedKey中应该包含哪些属性?我已经阅读了文档,但没有给出详细信息。它会返回 { "G": "foo", "S": "bar" } 在GSI中,该键不一定是唯一的,因此请记住。在GS
{
"G": "foo",
"S": "bar"
}
在GSI中,该键不一定是唯一的,因此请记住。在GSI上进行查询时,上次评估的键可能会包括所有四个(H、R、G和S)。以下似乎是规则: 如果我们查询GSI,那么LastEvaluatedKey将是GSI分区键、GSI排序键、主分区键和主排序键的组合
如果我们查询LSI,那么LastEvaluatedKey将由LSI排序键、主分区键和主排序键组成。为什么不自己测试一下?如果键不是唯一的,那么有没有办法分页?我的意思是,既然gsi不是唯一的,我们可能会得到与lastEvaluatedKey相同的键值,那么我们如何处理这个问题呢?如果键值不是唯一的,那么有没有办法分页?我的意思是,由于gsi不是唯一的,我们可能会得到与lastEvaluatedKey相同的键值,那么我们如何继续执行此操作?@Vishnu lastEvaluatedKey始终包含可以唯一标识行的键