DynamoDB 上的 GSI

GSI on DynamoDB

我有 dynamoDB table 用于处理具有以下结构的订单。

我还有一些属性,我想根据状态过滤订单。现在我使用扫描方法根据状态获取订单。但是我想实现查询语句以在查询执行期间实现更高的效率。如何实现查询语句以根据状态 属性 筛选订单?

谢谢

您需要一个以 STATUS 作为分区键的 GSI...

然后在查询中,你tell it to use the GSI.

{
    "TableName": "YourTable",
    "IndexName": "StatusIndex",
    "KeyConditionExpression": "status = :v_status",
    "ExpressionAttributeValues": {
        ":v_status": {"S": "FILLED"}
    },
}