
Desempenho do Django
Otimização de queries, problema N+1, índices de banco de dados, connection pooling, profiling, monitoring
1Qual é o problema de desempenho mais comum relacionado às queries do ORM do Django?
Qual é o problema de desempenho mais comum relacionado às queries do ORM do Django?
Resposta
O problema N+1 é o problema de desempenho mais comum com o ORM do Django. Ocorre quando uma query inicial busca N objetos e, em seguida, N queries adicionais são executadas para buscar os objetos relacionados. Por exemplo, iterar sobre artigos e acessar seu autor gera uma query por artigo em vez de uma única query com join.
2Qual método deve ser usado para resolver o problema N+1 com uma relação ForeignKey?
Qual método deve ser usado para resolver o problema N+1 com uma relação ForeignKey?
Resposta
select_related() é o método adequado para resolver o problema N+1 com relações ForeignKey e OneToOneField. Ele realiza um join SQL e busca os objetos relacionados em uma única query. prefetch_related() é usado para relações ManyToMany ou relações inversas (ForeignKey reverse).
3Quando se deve usar prefetch_related() em vez de select_related()?
Quando se deve usar prefetch_related() em vez de select_related()?
Resposta
prefetch_related() foi projetado para relações ManyToMany e relações inversas (ForeignKey reverse). Diferente de select_related() que faz um join SQL, prefetch_related() executa uma query separada e realiza o join em Python. Isso evita a duplicação de dados que ocorreria com um join SQL sobre relações many-to-many.
Como usar Prefetch() para personalizar as queries de prefetch_related()?
Qual é o principal benefício de adicionar um índice de banco de dados em um campo?
+21 perguntas de entrevista
Outros temas de entrevista Django
Fundamentos de Python
Python orientado a objetos
Fundamentos do Django
Models Django - Fundamentos
Views do Django
Templates Django
Formulários Django
QuerySets avançados
Autenticação no Django
Middleware do Django
Django Admin
Django REST Framework
Sinais do Django
Upload de arquivos
Cache do Django
Sessões do Django
Email no Django
Testes no Django
Segurança do Django
Implantação do Django
Django ORM avançado
Django & Celery
Django Channels
Django & GraphQL
Django & Docker
Django em um ecossistema de microsserviços
Comandos personalizados do Django
Internacionalização no Django
Padrões de Projeto no Django
Django Async e ASGI
Settings e configuração de produção
Observabilidade e monitoramento
Domine Django para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis