[statistics] Recruitment graph optimization #9196
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The recruitment graphs on the dashboard provided by the statistics module are not efficient. They run one SQL query per month per year per site for each graph that is displayed. This is highly inefficient for large projects.
This replaces the single queries in the inner loops with a single group-by query which it processes into the same format.
The result should be significantly faster load times on the dashboard when the statistics module is loaded.
Testing instructions (if applicable)