Reduce number of queries made for merge_requests/:id/diffs
What does this MR do?
It reduces the number of DB queries made while processing and rendering MR notes.
Are there points in the code the reviewer needs to double check?
N/A
Why was this MR needed?
For https://staging.gitlab.com/gitlab-org/gitlab-ce/merge_requests/3142/diffs.json
, for each note we make number of DB queries, almost all of them are handled by the AR caching layer, but they seem to add up a few seconds. Testing on staging, calling merge_requests/3142/diffs.json
was reduced to ~5.5 seconds from ~8 seconds.
What are the relevant issue numbers?
N/A
Screenshots (if relevant)
N/A
Does this MR meet the acceptance criteria?
-
CHANGELOG entry added -
Documentation created/updated -
API support added -
Tests-
Added for this feature/bug -
All builds are passing
-
-
Conform by the style guides -
Branch has no merge conflicts with master
(if you do - rebase it please) -
Squashed related commits together