[SERVER-83288] Index scans use complex key validation code for point bounds Created: 15/Nov/23 Updated: 30/Jan/24 |
|
| Status: | In Progress |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Ian Boros | Assignee: | Zixuan Zhuang |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | query-perf-q4 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Query Execution
|
| Participants: |
| Description |
|
For point bounds, index scans convert KeyStrings to BSON and still call into the expensive checkKey() codepath. We should avoid this extra work in the easy (and common) case where we have point bounds. In fact, we might be able to avoid this conversion in the general case too, if we wrote a key checker based on KeyString. We should investigate the effort of doing that. |