我写入表中的项目不会出现在 Amazon DynamoDB 的相关全局二级索引 (GSI) 中。或者,从我写入项目到我可以在 GSI 中读取它们之间会有延迟。
解决方法
写入操作会在 1 秒内传播到 GSI。如果您等待几秒钟,但 GSI 仍未显示您的更新,请检查以下常见原因:
- 包含许多项目的大型基表或单个表中的多个 GSI,这会导致传播延迟。
- 添加到基表中但没有 GSI 主键值的项目。
**注意:**这些项目未出现在索引中,因为 GSI 是稀疏索引。
要解决高传播延迟问题,请将您的 AWS SDK 配置为使用指数回退算法。然后,在索引上重试查询或扫描操作。指数回退为索引提供了显示写入操作的时间,并减少了所需的重试总数。
对于采用预置容量模式的表,写入容量低于其基表的索引可能会导致传播延迟。要解决此问题,请使用 UpdateTable API 使索引写入容量等于或大于基表容量。
相关信息
表和全局二级索引之间的数据同步