You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以最低R/Us成本遍历Cosmos DB的所有products文档?

以最低R/Us成本遍历Cosmos DB产品集合的最优方案
  • 使用延续令牌(Continuation Token)而非Skip/Take
    Skip/Take会扫描所有被跳过的文档,额外消耗R/Us,而延续令牌能直接定位到下一批数据的起始位置,完全避免无效扫描。每次查询返回结果时保存延续令牌,下一批查询传入该令牌即可实现高效分页。

  • 采用无排序的全集合扫描
    不需要按特定顺序处理时,直接执行不带ORDER BY的全集合查询。带ORDER BY会强制跨分区排序,大幅增加R/Us消耗,完全没必要。Cosmos会以最低成本的方式遍历所有分区。

  • 合理控制批次大小
    建议将页面大小设置在100-500之间,平衡单次查询的R/Us消耗和请求次数。过大的批次会导致单请求R/Us飙升,易触发429;过小则会增加请求总数,累积R/Us成本更高。

  • 调度在空闲时段执行
    利用非繁忙时段执行遍历任务,避开业务高峰。既减少429错误概率,也无需额外扩容吞吐量,降低整体成本。

  • 配置合理的自动重试策略
    实现基于指数退避的自动重试逻辑,Cosmos SDK通常内置该机制,需确保配置正确的重试次数和间隔,避免无效重试浪费R/Us,应对偶尔出现的429错误。

  • 解耦查询与高消耗处理逻辑
    若需处理文档,先批量读取到本地再异步处理,不要在查询请求周期内执行复杂计算或写入操作,避免单次请求占用过多R/Us。

内容的提问来源于stack exchange,提问作者JᴀʏMᴇᴇ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 11:17:03