← Back to Node.js performance map
🔁
Node.js Performance

N+1 Detection

Detect list queries that trigger one query per row.

orm

Detailed Description

N+1 happens when one list query triggers one extra query for every item in the list. It is common in GraphQL resolvers, ORM relations, and loops with await inside.

Fix it with SQL joins, eager loading, batched loaders such as DataLoader, or endpoint-specific aggregate queries. Also track query count per request to catch regressions.

Mental Model

1 list query
+ N child queries
= latency explosion

When To Use

  • ->GraphQL resolvers perform too many DB calls
  • ->ORM code loops with await inside
  • ->Query count per request is high
Tools: DataLoader, joins, Prisma include, GraphQL resolvers
n-plus-one.js

Live Editor

Loading...

Output

Run code to see output...