-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Execution
In order to evaluate a field path expression (e.g. "$address.state"), we materialize an object and then evaluate the expression over that object. The goal of this ticket is to avoid creating the intermediate object when it is created only for the purpose of evaluating field path expressions.
This will involve several sub-tasks/steps. Roughly:
1) We will have to support evaluation of field path expressions using an SBE expression rather than an SBE plan stage tree.
2) We will have to support evaluation of field path expressions directly over array info.
3) We will need to track the use of field path expressions in the stage builder, and associate each one with a slot. We will attempt to do this only for certain query "shapes."
This work will be broken up into sub-tasks as we learn more. This ticket is to track the goal of avoiding materialization for simple $group queries.
- depends on
-
SERVER-69543 Avoid object materialization in column scans
- Open
-
SERVER-69542 Refactor how we track metadata slots
- Closed
-
SERVER-69647 Refactor how $group optimizes itself in sbe_stage_builder
- Closed
- is depended on by
-
SERVER-69105 Achieve column index performance acceptable for release
- Closed