在 Dynamo DB 中对本地二级索引进行索引

Posted

技术标签:

【中文标题】在 Dynamo DB 中对本地二级索引进行索引【英文标题】:Indexing on Local Secondary Index in Dynamo DB 【发布时间】:2017-06-01 18:29:26 【问题描述】:

说,我有一个包含 5 列的表:- A、B、C、D、E。A 是哈希键,B 是排序键。现在,我还想查询 A 和 C。那么,将 C 添加为本地二级索引就可以了,对吧?我问是因为本地二级索引主要用于范围查询。就我而言,这将是对 C 属性的相等查询。

您可以提供任何建议。

【问题讨论】:

【参考方案1】:

我找到了答案。我可以使用 A 作为哈希键和 C 作为范围键创建本地二级索引。但我需要确保在创建表时创建此索引,因为在创建表后无法创建 LSI。

【讨论】:

【参考方案2】:

你是对的。使用本地二级索引,您无法更改分区键。使用这个你可以查询 =

【讨论】:

【参考方案3】:

可以使用二级索引查询:

let params = 
    TableName: 'users',
    KeyConditionExpression: "#_id = :_id",
    IndexName: "_id-index",
    ExpressionAttributeNames:
        "#_id": "_id"
    ,
    ExpressionAttributeValues: 
        ":_id":userId
    
;

使用 document.query 方法

【讨论】:

以上是关于在 Dynamo DB 中对本地二级索引进行索引的主要内容,如果未能解决你的问题,请参考以下文章

扫描Dynamo DB中的特定行

使用 DynamoMapper 和类 Annotation 创建具有全局二级索引的表

对于典型的 crud 应用程序,推荐的 dynamo 索引架构是啥?

Mysql聚簇索引 二级索引 辅助索引

如何在 MultiIndex Groupby 中高效地执行乘法

聚簇索引与非聚簇索引(也叫二级索引)