É comum ouvirmos que ORMs são lentos e não devem ser usados em aplicações de grande porte. Com isso, iremos mergulhar nesse assunto e explorar os aspectos necessários para fazer boas queries com ORMs.
Como mencionado no resumo, quero quebrar o mito de que ORMs são lentos e não devem ser usados em aplicações de grande porte. Para isso, pretendo abordar:
- De volta ao básico: entendendo as queries diretamente no SQL. Antes das queries serem performáticas no ORM, precisamos entender fazê-las performáticas em SQL puro. Só assim conseguiremos resolver os mesmos problemas no ORM.
- Contextualização o banco de dados postgres.
- Contextualização sobre Python e Django.
- Vantagens do ORM sobre SQL puro
- Problemas comuns que as pessoas encontram em ORMs:
- - Query N+1: Nesse problema, pra todo registro retornado/iterado do banco de dados, a aplicação faz uma nova consulta. Isso gera inúmeras queries extras e piora muito a performance.
- - Consultas mais complexas com ORM: Como usar funções do SQL como CASE-WHEN-THEN, SUM, COUNT() e afins.
- - Mantendo o código limpo e organizado com o ORM.
- Ferramentas auxiliares para debugar e melhorar as queries.
- Como usar os Ãndices
Link: https://www.youtube.com/watch?v=rsKxYWF1by4