[SERVER-1795] $or don't check already returned values in matcher for nonoverlapping index ranges Created: 14/Sep/10 Updated: 05/May/14 Resolved: 25/Mar/14 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Performance, Querying |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Aaron Staple | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Operating System: | ALL |
| Participants: |
| Description |
|
With $or matching, there is a step where we check that a document would not have been returned while processing previous or clauses. If an earlier or clause was handled using a disjoint range of the same index as the current clause, we can avoid performing this check. |
| Comments |
| Comment by Aaron Staple [ 14/Sep/10 ] |
|
Will have to watch out for multikey case, though. |