Sitemap

Member-only story

Understanding the N+1 Problem in REST APIs (and How to Fix It)

3 min readMar 14, 2025

The N+1 problem is a common performance issue in REST APIs that use relational databases (like MySQL, PostgreSQL) with ORMs (Hibernate, JPA, etc.). It causes excessive database queries, slowing down API responses.

📌 What is the N+1 Problem?

The N+1 problem occurs when:

  • 1 query is executed to fetch a list of parent records.
  • N additional queries are executed for each child record.
  • This results in (N+1) total queries, leading to slow API performance.

💡 Example Scenario:
Imagine an API that fetches departments and their employees.

GET /departments

If there are 10 departments, and each department has employees, the API executes:
1 query to get all departments.
10 queries (one per department) to fetch employees.
Total = 11 queries instead of 1!

🔹 Example of the N+1 Problem in a REST API (Spring Boot + JPA)

📌 Entities: Department and Employee (One-to-Many Relationship)

@Entity
public class Department {
@Id @GeneratedValue
private Long id;
private String name;

@OneToMany(mappedBy = "department", fetch = FetchType.LAZY) // LAZY loading (default)
private List<Employee>…

--

--

No responses yet