[SERVER-50673] Revisit how we implement top-level $and optimization in SBE stage builder Created: 01/Sep/20 Updated: 27/Oct/23 Resolved: 23/Mar/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Drew Paroski | Assignee: | Backlog - Query Execution |
| Resolution: | Gone away | Votes: | 0 |
| Labels: | sbe-post-v1 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Query Execution
|
| Participants: |
| Description |
|
It would be great if the top-level $and optimization didn't rely on pointer comparison with the root of the MatchExpression tree. Ideally we should do something more principled here that feels less hacky. Also, there are cases involving nested $and's where we could apply the same optimization that we're doing for the top-level $and. For example, we could optimize the inner $and in queries like "find({$or[{$and: [..]}, ..]})". |
| Comments |
| Comment by Drew Paroski [ 23/Mar/23 ] |
|
The SBE stage builder has changed a great deal in the past year and this ticket isn't really relevant anymore. Closing as "Gone away". |