AWS DynamoDB Query的Limit选项是否限制容量单位消耗?同分区键查询疑问
DynamoDB Query: Limit选项对读取容量单位的影响
嘿,我来帮你理清这两个关于DynamoDB Query操作和读取容量单位(RCU)的问题:
1. Limit选项是否会限制所消耗的容量单位?
是的,Limit选项会直接限制Query操作消耗的RCU。DynamoDB的Query逻辑是:从指定分区中读取符合条件的项目,一旦返回的项目数量达到你设置的Limit值,就会立即停止读取操作,不会额外扫描更多数据。因此,消耗的RCU是基于实际读取到的项目数量(以及这些项目的总大小)来计算的,不会因为分区内有更多匹配项目而多消耗容量。
2. 分区内有1000个同分区键项目,Limit=10时RCU按哪个数量计算?
这种场景下,消耗的RCU是按仅10个项目来计算的。当你针对该分区键执行Limit=10的Query时,DynamoDB在读取到10个符合条件的项目后就会终止扫描,不会去触碰剩下的990个项目。
这里补充个小细节:RCU的计算是基于数据大小的——1个强一致读的RCU对应读取4KB的数据,最终一致读的RCU则是强一致读的一半。如果你的单个项目大小超过4KB,会按实际占用的RCU数累加(比如一个6KB的项目会消耗1.5个强一致读RCU),但核心逻辑始终是只计算实际读取的10个项目的容量。
内容的提问来源于stack exchange,提问作者Rajesh Kumar
相关产品推荐
相关产品推荐

