
Performance Optimization
Otimização de consultas, problema N+1, eager loading, lazy loading, estratégias de cache, indexação de banco de dados, ferramentas de profiling
1O que é o problema N+1 no Laravel?
O que é o problema N+1 no Laravel?
Resposta
O problema N+1 ocorre quando o Eloquent executa uma consulta para recuperar uma coleção e depois uma consulta adicional por item para carregar uma relação. Isso multiplica os acessos ao banco de dados e degrada gravemente o desempenho em grande escala. Usar eager loading com with() carrega todas as relações em uma única consulta adicional em vez de N consultas.
2Qual método deve ser usado para resolver o problema N+1 ao carregar relações?
Qual método deve ser usado para resolver o problema N+1 ao carregar relações?
Resposta
O método with() realiza eager loading que carrega as relações em uma única consulta adicional. Em vez de executar uma consulta por modelo ao acessar a relação, todas as relações são carregadas antecipadamente. Isso reduz drasticamente o número de consultas SQL e melhora o desempenho.
3Qual é a diferença entre eager loading e lazy loading?
Qual é a diferença entre eager loading e lazy loading?
Resposta
O eager loading carrega as relações imediatamente com a consulta principal via with(), enquanto o lazy loading carrega as relações sob demanda no primeiro acesso. O lazy loading pode provocar o problema N+1 se as relações forem acessadas em um loop. O eager loading é recomendado quando as relações serão usadas, para evitar consultas múltiplas.
Qual é o papel de Cache::remember() no Laravel?
Qual é a diferença entre Cache::remember() e Cache::rememberForever()?
+19 perguntas de entrevista
Outros temas de entrevista Laravel
Fundamentos de PHP
Fundamentos de POO em PHP
Composer & Autoloading
Fundamentos do Laravel
Routing do Laravel
Blade Templates
Request & Response
Fundamentos do Eloquent ORM
Eloquent Relationships
Migrations & Schema Builder
Validação e formulários
Autenticação
Autorização e Policies
API Resources & Authentication
Middleware
Service Container & DI
Queues & Jobs
Events & Listeners
Notificações & Mail
File Storage
Testing & PHPUnit
Caching
Livewire & Inertia
Eloquent Advanced
Repository Pattern
Laravel Packages
Security Best Practices
Laravel Octane
Laravel Distributed Systems
Observability & Monitoring
Deployment & DevOps
Domine Laravel para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis