Laravel

Performance Optimization

Optimización de consultas, problema N+1, eager loading, lazy loading, estrategias de caché, indexación de base de datos, herramientas de profiling

22 preguntas de entrevista·
Senior
1

¿Qué es el problema N+1 en Laravel?

Respuesta

El problema N+1 ocurre cuando Eloquent ejecuta una consulta para recuperar una colección y luego una consulta adicional por cada elemento para cargar una relación. Esto multiplica los accesos a la base de datos y degrada gravemente el rendimiento a gran escala. Usar eager loading con with() carga todas las relaciones en una sola consulta adicional en lugar de N consultas.

2

¿Qué método se debe usar para resolver el problema N+1 al cargar relaciones?

Respuesta

El método with() realiza eager loading que carga las relaciones en una sola consulta adicional. En lugar de ejecutar una consulta por modelo al acceder a la relación, todas las relaciones se cargan por adelantado. Esto reduce drásticamente el número de consultas SQL y mejora el rendimiento.

3

¿Cuál es la diferencia entre eager loading y lazy loading?

Respuesta

El eager loading carga las relaciones inmediatamente con la consulta principal mediante with(), mientras que el lazy loading carga las relaciones bajo demanda en el primer acceso. El lazy loading puede provocar el problema N+1 si las relaciones se acceden dentro de un bucle. El eager loading es recomendable cuando se van a usar las relaciones, para evitar consultas múltiples.

4

¿Cuál es la función de Cache::remember() en Laravel?

5

¿Cuál es la diferencia entre Cache::remember() y Cache::rememberForever()?

+19 preguntas de entrevista

Domina Laravel para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis