查看这是关于GSI的DynamoDB文档,我发现了以下评论:
全局辅助索引只跟踪其键属性实际存在的数据项。
这到底意味着什么呢?
Partition Key和/或Sort Key将不会导致GSI中的任何附加项。
例如)"GameTitle“和"TopScore”是必需的INCLUDE选项的任何属性缺少数据,将不会导致GSI中的任何附加项。
例如)所有投射到GSI的属性--甚至是“胜利”、“失败”--都是必需的。我怀疑"key属性“指的是1.,从INCLUDE选项的角度看,任何丢失的数据在查询GSI时都将是空的,但希望检查我的理解是否正确。
而且,GSI和LSI在这个空间中没有区别吗?
发布于 2019-01-07 18:40:37
在链接到全球次级指标的页面中
然后你引用的下面两行是:
全局辅助索引只跟踪其键属性实际存在的数据项。例如,假设您向GameScores表添加了另一个新项,但只提供了所需的主键属性: 因为您没有指定TopScore属性,所以DynamoDB不会将此项传播到GameTitleIndex。
因此,如果在属性GSIKey上有一个GSI,并且在没有该属性的表中添加了一个记录,那么GSI将不会获得该记录的条目。
如果使用GSIKey添加记录,则GSI将为该记录提供一个条目。
任何附加的投影属性都将存在或不存在。和桌子本身一样。
这方面的技术术语是https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-indexes-general-sparse-indexes.html;它不需要包含与基表一样多的条目。
本地二级指数也很稀疏。
https://stackoverflow.com/questions/54048765
复制相似问题