Query 占用的容量单位
您可对任何表或二级索引执行 Query
操作,前提是它具有复合主键(分区键和排序键)。Query
操作占用读取容量单位,如下所示。
如果对...进行 Query | DynamoDB 将占用...的读取容量单位 |
---|---|
表 | 表的预置读取容量。 |
Global secondary index | 索引的预置读取容量。 |
本地二级索引 | 基表的预置读取容量。 |
默认情况下,Query
操作不会返回任何有关它占用的读取容量大小的数据。但是,您可在 ReturnConsumedCapacity
请求中指定 Query
参数以获取此信息。下面是 ReturnConsumedCapacity
的有效设置:
NONE
— 未返回任何已占用容量数据。(这是默认值。)TOTAL
— 响应包含占用的读取容量单位的总数。INDEXES
— 响应显示占用的读取容量单位的总数,以及访问的每个表和索引的占用容量。
DynamoDB 将基于项目大小而不是返回到应用程序的数据量来确定占用的读取容量单位数。因此,无论您是请求所有属性(默认行为)还是只请求部分属性(使用投影表达式),占用的容量单位数都是相同的。无论您是否使用筛选表达式,该数量也是相同的。
Query 的读取一致性
默认情况下,Query
操作将执行最终一致性读取。这意味着 Query
结果可能无法反映由最近完成的 PutItem
或 UpdateItem
操作导致的更改。有关更多信息,请参阅读取一致性。
如果您需要强一致性读取,请在 Query
请求中将 ConsistentRead
参数设置为 true
。