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

MongoDB同索引键值文档查询时total keys examined为何为3而非1?

为什么MongoDB查询同键值文档时total keys examined等于文档数?

你的认知偏差在于对MongoDB BTree索引条目的理解:

  • MongoDB的{x:1}单键索引中,每个文档都会生成一条独立的索引条目,即使键值完全相同。这些条目除了包含键值5,还会附带对应文档的位置信息(比如文档的_id或磁盘存储位置),用来快速定位到具体文档。
  • 相同键值的索引条目会在BTree中连续存放,但它们仍是独立的条目,并非一个键节点关联所有同值文档。
  • total keys examined统计的是查询过程中实际扫描到的索引条目数量,而非不同键值的数量。因为你有3个x:5的文档,对应3条索引条目,所以查询时需要扫描这3条条目来定位到每个文档,因此该值为3。

简单说:同键值的每个文档都占一条索引条目,扫描多少条条目就对应多少个匹配的文档,所以total keys examined和文档数一致。

内容的提问来源于stack exchange,提问作者ariko stephen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 06:13:11