[英]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.