使用带有属性表达式的 GSI 是否会降低读取成本,因为您只从查询中返回属性的子集?或者 AWS 是否会向您收取阅读整行的费用,并认为他们只是为您过滤数据,但在返回属性子集之前仍会阅读整行?
如果这不能降低我们的成本,那么还有什么其他方法(除了创建两个表)来降低他们的读取成本?
我们想使用带有属性表达式的全局二级索引 (GSI) 来表示 DynamoDB 表中的属性子集。
这使我们能够返回一组查询所需的数据。
但是,从 AWS 文档中不清楚使用带有属性表达式的 GSI 是否会降低我们对 DynamoDB 的读取成本。
我们已经使用属性表达式实现了 GSI,其中包含给定查询所需的属性。这些属性是我们表中所有属性的子集。
制作GSI时,您可以控制将哪些属性投影到GSI中。更少的属性将节省成本。
查询 GSI(或基表)时,您可以控制查询出来的表达式属性值。这并没有降低数据库成本,它只是减少了网络传输。