[SERVER-16846] Plan summary string should not be generated for every find() operation Created: 14/Jan/15 Updated: 18/Mar/15 Resolved: 18/Mar/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Performance, 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 |
|
We should not be generating the plan summary string for every find operation, as it is expensive to generate. The plan summary string is currently used for the server log output, and is made available for introspection with db.currentOp(). We should certainly preserve the use case of exposing the plan summary in the server log output. If we do want to preserve the use case of exposing the summary string for slow queries in db.currentOp(), we could consider an approach where PlanExecutor::getNext() generates the summary string after N work calls, or after the root stage's "approximate timer" exceeds the global slowMS value. |
| Comments |
| Comment by David Storch [ 18/Mar/15 ] |
|
This work was completed under |