繁体   English   中英

DynamoDB慢速扫描查询

[英]DynamoDB slow scan query

当我在AWS控制台中执行此查询时,它立即返回:

在此处输入图片说明

但是从Java代码来看,它永远不会完成:

    final List<TransactionDetails> tx = dynamoDBMapper //
            .scan(TransactionDetails.class, new DynamoDBScanExpression() //
                    .withConsistentRead(false)
                    .withLimit(maxRecords) //
                    .withFilterConditionEntry("time", new Condition().withComparisonOperator(ComparisonOperator.LT)
                            .withAttributeValueList(new AttributeValue(Long.toString(time)))));

    return tx;  

DynamoDB控制台一次仅显示100个结果。 DynamoDB映射器实现了扫描操作,因此它将自动遍历表中的所有项目。 它将向Dynamo发出与扫描整个表一样多的请求,并且在受到限制时也会重试。

对于较小的表,扫描通常在几秒钟内完成,但是对于较大的表(尤其是如果您没有足够的预配置读取容量),扫描可能需要几分钟,几小时或几天的时间。

因此-检查表的大小和预配置的容量。 扫描将完成,但是确定要花多长时间取决于这两个变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM