Amazon web services AWS DynamoDB创建表和检索数据的最佳方法
我有下表: 表1 钥匙 属性1 属性2 我需要按Attribute1和Attribute2以及运算符进行查询Amazon web services AWS DynamoDB创建表和检索数据的最佳方法,amazon-web-services,amazon-dynamodb,Amazon Web Services,Amazon Dynamodb,我有下表: 表1 钥匙 属性1 属性2 我需要按Attribute1和Attribute2以及运算符进行查询 设计具有二级索引、全局二级索引等的表的最佳方法是什么?通过属性检索数据的最佳方法是什么?仅通过扫描?假设您的查询要求是 键EQ键值和属性1运算符1值\u 1和属性2运算符2值\u 2 /*其中keyvalue是要使用的哈希键的值,value_1和value_2分别是与Attribute1和Attribute2对应的值*/ 在这种情况下,使用HashKey=key、RangeKey=Att
设计具有二级索引、全局二级索引等的表的最佳方法是什么?通过属性检索数据的最佳方法是什么?仅通过扫描?假设您的查询要求是 键EQ键值和属性1运算符1值\u 1和属性2运算符2值\u 2 /*其中keyvalue是要使用的哈希键的值,value_1和value_2分别是与Attribute1和Attribute2对应的值*/ 在这种情况下,使用HashKey=key、RangeKey=Attribute1或Attribute2定义一个表-以基数较高的为准。让我们假设Attribute1具有更高的基数 创建查询时,KeyConditions部分将具有 密钥,即散列密钥EQ keyvalue 属性1,即范围键运算符1值\u 1 /*运算符1可以是以下运算符之一-EQ | LE | LT | GE | GT |以|之间开始*/ QueryFilter部分将具有 及 属性2,即非键属性运算符2值\u 2 /*运算符2可以是以下运算符之一-EQ | NE | LE | LT | GE | GT | NOT | NULL | NULL | CONTAINS | NOT | CONTAINS |以| IN |中间开始|*/ 请注意,将根据哈希键和Attribute1获取项目,然后根据Attribute2对项目进行筛选。有关查询API的更多详细信息,请参阅本文档 如果希望查询满足以下场景 key=keyvalue和属性\u 1运算符1值\u 1 键=键值和属性2运算符1值2 然后,您可以定义一个具有HashKey=key、RangeKey=Attribute_1的表和一个全局二级索引GSI,或一个具有索引HashKey=key和索引RangeKey=Attribute2的本地二级索引LSI 有关GSI和LSI之间的比较,请参阅以下文档
谢谢Vivek的解释。但在我的例子中,我不会在搜索中使用键值,而是同时使用这两个属性。