dynamodb keyconditionExpression 与 FilterExpression 成本?

mad*_*uga 3 amazon-dynamodb aws-lambda dynamodb-queries

我想知道当我在 dynamodb 中进行查询并使用过滤器表达式而不是关键条件表达式时是否存在成本差异。

我需要创建索引才能使用过滤表达式吗?

它会增加查询成本吗?

Bal*_*ala 16

DynamoDB 查询操作,我们可以提供三件事来选择/过滤数据。

  • 分区键:我们必须在 KeyConditionExpression 中提供它
  • 范围/排序键:我们可以在 KeyConditionExpression 中提供缩小查询范围的功能
  • 任何其他属性:我们可以提供进一步限制 FilterExpression 中的结果

需要记住的两点:

  • 查询消耗的 RCU 量仅取决于 KeyConditionExpression,因此指定 Range/Sort Key 将限制读取/查询的数据量,从而有助于节省成本。
  • FilterExpression 在查询完成之后、返回结果之前应用。这不会影响 RCU,也不会影响成本,但是,这将有助于增加返回给客户端的数据量。如果客户端位于AWS之外,那么我们只会节省网络数据成本。