Delegate the Mentor's journal month_count to the DB #138
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.
Instead of loading the records to Ruby, interpolating and counting - the calculation is done in the DB directly using DISTINCT.
See rails/rails#5554 for why
#select
is used (issue with counting distinct on multiple columns)SQL Explains on two possible queries:
1
results in:
2
Maybe a more readable approach is using the relationship directly:
Both work but with the second it looks like the cost is higher since you get this unnecessary join when you don't remove the default scope of Journal.