[SERVER-2328] right now btree gets split 10/90 on right of rightmost bucket, 50/50 everywhere else. Should also do 90/10 on left of leftmost Created: 04/Jan/11 Updated: 06/Dec/22 Resolved: 14/Sep/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Index Maintenance, MMAPv1 |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Antoine Girbal | Assignee: | Backlog - Storage Execution Team |
| Resolution: | Won't Fix | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Storage Execution
|
| Participants: |
| Description |
|
some people create their index thinking about the usual query more than inserts. ).sort( {uploadDate: -1}) to have most recent first. (which is what Python driver does). Inserted 100000 increasing numbers into ascending index: }, Inserted 100000 decreasing numbers into ascending index: }, we should split 90/10 on left of leftmost so that the order of index really doesnt matter. |
| Comments |
| Comment by Aaron Staple [ 04/Jan/11 ] |
|
Right now we are actually doing a 90/10 split on the rightmost key of any bucket, not just the rightmost bucket. This was the requested initial implementation. We should probably do it just on the right bucket. Mathias had some thoughts on caching the leftmost and rightmost buckets - these cached values could be used to determine if we are on left or rightmost bucket, or we could also determine these cases based on tree traversal. |