首页/数据/NoSQL 速查/覆盖查询(不回表)
本包目录(322 条)
MongoDB99 条
Elasticsearch89 条ClickHouse56 条时序与列式28 条选型与架构50 条

覆盖查询(不回表)

查询条件与返回字段全部来自同一个索引时,引擎无需读取文档本体;explain 显示 totalDocsExamined 为 0 即为覆盖。

NoSQL 速查数据更新于 2026-10-12
条件过滤字段与投影字段都在索引内,且排除 _id
验证explain("executionStats") 的 totalDocsExamined = 0

示例

示例
db.orders.createIndex({ sku: 1, qty: 1 })
db.orders.find({ sku: "A-1" }, { sku: 1, qty: 1, _id: 0 }).explain("executionStats")
覆盖查询省去回表读取,等值点查或小范围扫描收益明显。

易错点

  • 多键(数组)索引无法支撑覆盖查询,投影里的 _id 也要显式排除

数据来源与参考

  • MongoDB Manual: Covered Queries
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌