Eliminate N+1 queries in loading discussions.json endpoint
In #37955 (closed), we see the profiler had a number of N+1 queries from repeated access to cross_reference_not_visible_for?
. This was optimized in previous versions of GitLab by rendering all notes at once, counting the number of visible references, and then using that number to check whether a system note should be fully redacted.
There was also another N+1 query calling ProjectTeam#member?
, which did not take advantage of an optimization in prepare_notes_for_rendering
that would preload the maximum access level per project.