首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在分区键或GSI上的DynamoDB“查询”与"get_item“操作

在分区键或GSI上的DynamoDB“查询”与"get_item“操作
EN

Stack Overflow用户
提问于 2020-05-07 17:58:36
回答 2查看 1.6K关注 0票数 0
  • 如果在dynamodb表上执行"get_item“操作,则必须提供分区(主)键。
  • 不允许在GSI (全局辅助索引)上执行"get_item”操作,即使通过它执行的操作与分区(主)键完全相同。要使用GSI,
  • 需要“查询”数据库.

所以,我的问题是:对于GSI来说,带有“等于”运算符的“查询”操作与分区键的"get_item“操作一样有效吗?

EN

回答 2

Stack Overflow用户

发布于 2020-05-09 06:57:39

从GSI读取数据时需要查询操作的原因是,与表本身不同,GSI可能包含同一键的多个项。因此,对于表本身,可以保证并强制每个分区+排序键只有一个项,而GSI最终可能会有多个项映射到GSI中的同一个分区+排序键。

与主表上的get项相比,我不打算评论查询GSI的性能,而是说如果您关心性能,就应该运行自己的基准测试,尽管在大多数情况下,差异应该是可以忽略不计的。

票数 2
EN

Stack Overflow用户

发布于 2020-05-07 18:28:59

我相信GetItem的性能比以往任何时候都要好,因为它只会是一个散列键(分区键和可选排序键)中的一个项。

查询是有效的,因为它只能从单个分区检索,但是,它可以返回多个依赖于用于排序键的运算符的项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61664574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档