-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Optimization
- $elemMatch children can be simplified as independent Boolean expressions, then the result could be attached to the parent's BitsetTree. We will need to modify `restoreMatchExpression` function to handle that case.
- In the $elemMatch's parent's conjunction contains the same terms as the $elemMatch's conjunction we can remove the terms from the $elemtMatch's conjunction. E.g.
{ "a": {"id":1}, "a":{$elemMatch:{"id":1, "b":9} } } == { "a": {"id":1}, "a":{$elemMatch:{"b":9} } }
see
SERVER-22857
- is related to
-
SERVER-78260 Contained $or rewrite optimization incorrectly lifts a negation predicate outside an $elemMatch leading to missing query results
-
- Closed
-
- related to
-
SERVER-22857 eliminate redundant conditions/clauses from query
-
- Closed
-
- split from
-
SERVER-75079 Simplify boolean expressions before feeding them to the optimizer
-
- Closed
-