β‘ Bolt: Optimize completed books count query #103
+19
β2
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.
π‘ What: Optimized
StatsService.GetBooksCompletedInYearAsyncto use a direct databaseCOUNTquery instead of loading all completed books into memory.π― Why: The previous implementation loaded all completed books and filtered them in memory, which is an O(N) operation that scales poorly with the number of books and consumes unnecessary memory and database IO.
π Impact: Significantly reduces memory usage and database traffic, changing the operation from O(N) data transfer to O(1).
π¬ Measurement: Verify by inspecting the generated SQL query (should be a single
SELECT COUNT(*) ...) and checking memory allocation during statistics generation.PR created automatically by Jules for task 4698274501801566731 started by @Tr1sma