-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Optimization
In one of the high value workloads we multiplan a few index + fetch plans along with a covering index plan that satisfies a superset of the predicates covered in the non-covering plans.
db.c.insert({a: 1, b: 1}) db.c.createIndex({a: 1}) db.c.createIndex({a: 1, b: 1}) db.c.explain().aggregate([{$match: {a: 1, b: {$ne: null}}}, {$count: "c"}])
We consider {a: 1} and {a: 1, b: 1} even though the covering {a: 1, b:1} will always be more efficient.
- depends on
-
SERVER-92232 Create property-based test to assert that pruned plans are not better than remaining plans
- In Progress
- is related to
-
SERVER-92232 Create property-based test to assert that pruned plans are not better than remaining plans
- In Progress
- related to
-
SERVER-82677 Deduplicate index scan + fetch plans guaranteed to have similar performance
- Closed