我在DynamoDB中有一个大约300 000行的表。它包含三列:源,数据和周期。 source属性是散列键,data是范围键。 cycles属性是每次添加行时由应用程序添加的数字。我曾经使用以下过滤器扫描这些行:
{
TableName: "tableName",
Limit: 20,
ScanFilter: {
cycles: {
AttributeValueList: [
{
N: "0"
}
],
ComparisonOperator: "EQ"
}
}
}
然而,这个扫描过滤器似乎已经决定不再正常工作了。无论何时我执行此请求,它都将返回零结果。当我删除scanfilter时它会返回20个结果,所以我认为它与limit或tableName属性无关。有趣的是,当我设置过滤器来查找周期等于" 1"它确实有效,可能是因为在表的开头有10行循环= 1。
我的问题只是如何解决这个问题。我应该添加新索引,还是应该更改此scanfilter?我也可以尝试使用查询命令而不是扫描,但我之前尝试这样做也没有成功。
答案 0 :(得分:0)
没关系,我必须使用查询方法。我注意到scan方法只从表中获取行的前X行,直到scanFilter返回false,因此它不会搜索整个表。