【问题标题】:DynamoDB Scan with no FilterExpression vs Query没有 FilterExpression 的 DynamoDB 扫描与查询
【发布时间】:2018-02-05 12:28:07
【问题描述】:

我已在该表上创建了一个 DynamoDB 表和一个全局二级索引。我需要从该表的 GSI 中获取所有数据。

有两种选择:

  1. 没有过滤器表达式的扫描操作。
  2. 无条件查询操作。

我需要找出哪个性能更好,然后开始实施。

我已经阅读了很多有关 DynamoDB 扫描和查询操作的信息,但可以解决我的查询。

请帮助我解决我的问题。

提前致谢。

阿布舍克

【问题讨论】:

  • 会有一些主键,但我想获取完整的二级索引表。我可以使用查询或使用扫描来获取完整的表。这将提供更好的性能。
  • 我知道这是旧的并且已经回答了,但是你如何使用没有 FilterExpression 的扫描?

标签: amazon-web-services amazon-dynamodb


【解决方案1】:

它们都将施加相同的性能开销。所以选择其中一个应该没问题。 您应该考虑在您使用的任何方法之上添加优化 - 例如执行最佳实践中提到的并行扫描:
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScanGuidelines.html

或在您的应用程序中缓存数据

请注意,并行扫描会耗尽您的资源。

在做出决定时要注意的另一件事是,查询模式发生变化的可能性有多大?你打算在未来添加过滤器吗?如果是这样,那么查询会更好,因为扫描会加载所有数据(消耗预配的读取容量)然后过滤结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多