我没有在DynamoDb中获得查询/扫描限制的概念.根据文件:
单个Query操作最多可以检索1 MB的数据.在将任何FilterExpression应用于结果之前,此限制适用.
假设我有10k项,每项250kb,所有这些都适合查询参数.
F_S*_*O_K 12
如果我运行一个简单的查询,我只得到4项?
是
如果我使用ProjectionExpression只检索单个属性(大小为1kb),我会获得1k项吗?
不,在查询完成后应用filterexpressions和projectexpressions.所以你仍然得到4件物品.
如果我只需要计算项目(选择:'COUNT'),它会计算所有项目(10k)吗?
你可能在这里缺少的是你仍然可以得到所有10k的结果,或者10k计数,你只需要在页面中得到结果.这里有一些细节.基本上,当您完成查询时,检查LastEvaluatedKey属性,如果它不为空,则获取下一组结果.重复此操作,直到该属性为空,并且您知道您拥有所有结果.
编辑:我应该说一些SDK为你抽象出来.例如,Java SDK已经query和queryPage,query多次返回服务器以获得完整的结果集(即在您的情况下,为您提供完整的10k结果).
| 归档时间: |
|
| 查看次数: |
7791 次 |
| 最近记录: |