-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
ProjectReadStage half of this proposal, discussed in the 2024-01-26 SBE Sync meeting:
kevin.cherkauer@mongodb.com: $project performance:
- Observation: a large portion of $projects are either just reading or writing fields from/to documents. What if we split the SBE $project stage implementation into three stage types:
- ProjectReadStage (native C++) – reads a set of fields (including dotted paths) from an input document into slots
- ProjectWriteStage (native C++) – writes a set of fields (including dotted paths) from slots into an output document
- ProjectStage (EExpressions in the VM) – everything else