gpt4 book ai didi

java - DynamoDB 查询和分区键,简单的问题

转载 作者:行者123 更新时间:2023-12-02 10:10:29 25 4
gpt4 key购买 nike

关于查询 dynamoDB 表,我不明白的是,似乎有必要包含类似 .withKeyConditionExpression("itemId = :v_id") 的内容,但由于分区键唯一标识所有项目在表中,您不是总是只搜索一个结果吗?

尝试做类似的事情:

val expression = DynamoDBQueryExpression<PluginItem>()
.withKeyConditionExpression("itemId > 0")
.withFilterExpression("attributes.item_modification_date < :val1")
.withExpressionAttributeValues(eav)
val paginatedResults = queryByExpression(expression)

我正在查询表中的 100,000 个项目并对其进行分页,有人能给我指出正确的方向吗?

最佳答案

partition key uniquely identifies all items in the table

所以这不准确。这取决于您的 table 设计。但是,如果您设计带有 ParitionKey 和 Sort Key 的表,您将获得更大的灵 active 。话虽如此,回到你的声明。主键(而不是分区键)唯一标识表中的项目。主键是 ParitionKey + SortKey(也称为范围键)的组合。

将每个分区视为一个存储桶。

withKeyConditionExpression("itemId > 0")

这行不通。您无法对分区键执行此类操作。但是,您可以对排序键执行这些类型的条件。

来自2018 - re:Invent的视频这帮助我更好地了解 Dynamo。我已经看过那个视频好几次了,尤其是最后 30 到 20 分钟。

希望有帮助。我只使用 dynamodb 几个月,还有很多东西需要学习。

关于java - DynamoDB 查询和分区键,简单的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55031147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com