¿Eres programador junior y nunca has escuchado hablar del problema...

@juliancamposes
Julián Campos@juliancamposes
11 views Feb 18, 2026 ~2 min read
Advertisement
1
¿Eres programador junior y nunca has escuchado hablar del problema N+1?

Puede que ya lo estés provocando en tu proyecto sin darte cuenta.

Y es uno de los errores más comunes cuando trabajas con bases de datos y ORMs.

Te lo explico fácil 🧵👇
Media image
2
¿Qué es el N+1?

Se produce cuando haces 1 consulta para traer una lista + N consultas adicionales (una por cada elemento)

El resultado es que al final realizas muchas más consultas de las que necesitas.

Y... eso escala muy mal.
3
Te dejo un ejemplo típico con Laravel + Eloquent (que para algo programo en PHP xD)

Tienes Posts y cada Post pertenece a un User.

Lo que tú quieres mostrar es:

👉 El título del post
👉 El nombre del autor

Y haces algo así 👇
Media image
4
¿Qué está pasando realmente?

Estás realizando una query para traer todos los posts + otra query por cada post para traer su usuario.

Si tienes 100 posts → 101 queries.

👉 Eso es N+1.
5
¿Cómo se soluciona?

Con 𝗲𝗮𝗴𝗲𝗿 𝗹𝗼𝗮𝗱𝗶𝗻𝗴.

Si usas un ORM como Eloquent le tienes que indicar que traiga las relaciones desde el principio.

Así👇
Media image
6
Ahora lo que ocurre es que estás realizando 1 query para posts + 1 query para todos los users relacionados.

¿El total?

✅ 2 queries
❌ No 101

Al final el resultado es el mismo pero... Mucho más eficiente.
7
¿Por qué los muchos programadores juniors caen en N+1?

Porque el ORM lo hace parecer mágico.

Escribes:

$post->user->name

Y parece gratis, pero debajo hay consultas reales a la base de datos.

📌 El ORM no elimina el coste, lo abstrae.
8
¿Cómo detectarlo?

✅ Activa logs de queries
✅ Usa herramientas como Laravel Debugbar
✅ Observa cuántas consultas se ejecutan
✅ Sospecha cuando hay relaciones dentro de bucles

Si hay loop + relación... sospecha.
9
Entender N+1 es empezar a pensar como alguien que entiende cómo funciona realmente la base de datos.

Y eso te diferencia de quien solo usa el ORM porque funciona.

Si quieres seguir mejorando como programador, suscríbete a CERO a SENIOR 👇

ceroasenior.substack.com
Actions
What You Can Do
  • Export as PDF or Markdown
  • Batch Export to Notion
  • Bookmark & Highlight
  • Screenshot Tweet
Create Free Account

Includes 7-day Premium trial

Advertisement