[SERVER-15226] Query plan cache should cache query plans that repeatedly tie with winning plan for a given shape Created: 11/Sep/14 Updated: 25/Jun/15 Resolved: 17/Feb/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | J Rassi | Assignee: | David Storch |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Description |
|
For a query shape that has never been run before, it is not optimal to cache a plan if it ties with another, because not enough information is available to conclusively rule out either plan. However, for a query shape that generates two plans that are guaranteed to always tie, it is useless to run a trial for those two plans on every query. A better solution is to cache an arbitrary plan after it ties N times in a row with the winning plan. Related: |
| Comments |
| Comment by David Storch [ 17/Feb/15 ] |
|
This change will be included in work being done under |