| 条件 | 过滤字段与投影字段都在索引内,且排除 _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")覆盖查询省去回表读取,等值点查或小范围扫描收益明显。
查询条件与返回字段全部来自同一个索引时,引擎无需读取文档本体;explain 显示 totalDocsExamined 为 0 即为覆盖。
| 条件 | 过滤字段与投影字段都在索引内,且排除 _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")