[SERVER-24401] Allow fast-distinct scan on indexes with non-simple collation Created: 03/Jun/16 Updated: 03/May/17 Resolved: 18/Aug/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | None |
| Fix Version/s: | 3.3.12 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Tess Avitabile (Inactive) | Assignee: | David Storch |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Sprint: | Query 2016-08-29 | ||||||||
| Participants: | |||||||||
| Description |
|
In getExecutorDistinct(), we use the function turnIxscanIntoDistinctIxscan() to convert an IXSCAN into a DISTINCT_SCAN in a QuerySolution where possible. It only applies to solutions with a PROJECTION as the root, and an IXSCAN as its child. This will not apply to indexes with non-simple collation, because there the IXSCAN stage is always followed by a FETCH stage. It should be possible to convert the IXSCAN into a DISTINCT_SCAN for an index with a non-simple collation anywhere that it is possible for an index with a simple collation. |
| Comments |
| Comment by Githook User [ 18/Aug/16 ] |
|
Author: {u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}Message: |