DynamoDb文档中指定的查询操作:
和扫描操作:
最好基于性能和成本方面的考虑。
最佳答案
创建Dynamodb表时,请选择“主键”和“本地二级索引(LSI)”,以便“查询”操作返回所需的项目。
查询操作仅支持对主键进行相等的运算符评估,但对排序键有条件(=,,> =,介于,开始)。
扫描操作通常较慢且较昂贵,因为该操作必须遍历表中的每个项目以获取您要的项目。
例:
Table: CustomerId, AccountType, Country, LastPurchase
Primary Key: CustomerId + AccountType
在此示例中,您可以使用查询操作获取:
需要使用Scan操作返回:
为了避免对经常使用的操作进行扫描操作,请创建本地二级索引(LSI)或全局二级索引(GSI)。
例:
Table: CustomerId, AccountType, Country, LastPurchase
Primary Key: CustomerId + AccountType
GSI: AccountType + CustomerId
LSI: CustomerId + LastPurchase
在此示例中,查询操作可以使您获得:
关于amazon-web-services - dynamodb中的scan和query有什么区别?什么时候使用扫描/查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43452219/