Start here. This is the direct spoken answer to practice first.
Overview
Finds repeated relationship queries and fixes the data shape without introducing a larger query problem.
I reproduce the endpoint with representative child counts and capture SQL statement count and timing for one request. N+1 usually appears as one parent query followed by a similar relationship query for every parent, often triggered in mapping or serialization rather than where the query was written. I trace the first unexpected attribute access, then choose a projection, selectinload, or a suitable joined load for the required response.