Python Brasil 2022

Queries performáticas com ORM em Python, Django e Postgres

É 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

Thiago Ferreira

Sou um desenvolvedor de software buscando usar minhas habilidades pra trazer melhoras genuínas na vida das pessoas. Também sou entusiasta na cozinha à base de plantas e adoro assistir séries e filmes