Junior — Middle
Quando é apropriado escrever uma consulta SQL direta em vez de usar a camada ORM?
sobes.tech IA
Resposta da IA
É aconselhável escrever consultas SQL diretas em vez de usar ORM quando:
- Precisa executar uma consulta complexa ou específica que seja difícil ou ineficiente de expressar através do ORM.
- É necessário otimizar o desempenho, por exemplo, usando JOINs complexos, subconsultas ou funções agregadas.
- É preciso usar funcionalidades específicas do SGBD que o ORM não suporta.
- Precisa realizar operações em massa (inserções/atualizações em lote) que o ORM executa lentamente.
Exemplo em Python usando SQLAlchemy:
from sqlalchemy import text
# Consulta SQL direta para agregação complexa
result = session.execute(text("""
SELECT user_id, COUNT(*) as orders_count
FROM orders
WHERE status = 'completed'
GROUP BY user_id
"""))
for row in result:
print(row.user_id, row.orders_count)