"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Do desenvolvedor ao revisor: uma lista de verificação do desenvolvedor júnior para revisar consultas de banco de dados

Do desenvolvedor ao revisor: uma lista de verificação do desenvolvedor júnior para revisar consultas de banco de dados

Publicado em 2024-11-08
Navegar:718

Como desenvolvedor, é crucial fornecer código de qualidade que não seja apenas funcional, mas também otimizado para desempenho. Ao longo de meus três anos no domínio do desenvolvedor, passei de desenvolvedor prático para uma função de revisor. Uma das principais áreas em que me concentrei durante as revisões é a otimização de consultas de banco de dados.

Por que focar em consultas de banco de dados?
As consultas ao banco de dados podem impactar significativamente o desempenho de um aplicativo. Uma consulta bem escrita pode buscar dados com eficiência, enquanto uma consulta mal escrita pode levar a acessos excessivos ao banco de dados, deixando todo o sistema lento. Como desenvolvedor júnior, você deve estar se perguntando como avaliar o desempenho dessas consultas durante as revisões de código. Aqui está minha lista de verificação.

Lista de verificação para revisão de consultas de banco de dados

  1. Número de acessos ao banco de dados:

    • A primeira etapa é determinar quantas ocorrências no banco de dados estão sendo feitas por um trecho de código. Cada ocorrência no banco de dados pode adicionar latência, portanto, menos ocorrências geralmente significam melhor desempenho.
    • Dica profissional: use connection.queries e reset_queries do Django para rastrear o número de consultas executadas e o tempo gasto para cada uma. Por exemplo: From Developer to Reviewer: A Junior Developer
  2. Reduzindo o número de acessos:

    • Depois de saber o número de acessos, a próxima etapa é ver se você consegue reduzi-los. A redução de ocorrências no banco de dados muitas vezes pode ser alcançada otimizando as consultas ou combinando várias consultas em uma.
    • Técnicas principais:
      • Carregamento lento versus carregamento ansioso: entenda quando uma consulta está sendo avaliada. O carregamento lento atrasa a consulta até que os dados sejam realmente necessários, mas isso pode levar ao problema da consulta N 1. O carregamento rápido, usando select_relacionado ou prefetch_relacionado, busca objetos relacionados em uma única consulta, reduzindo o número total de acessos.
      • Joins: se você precisar de dados de tabelas relacionadas, considere usar consultas de junção. O select_relacionado do Django (para relacionamentos de chave estrangeira) e prefetch_relacionado (para relacionamentos muitos-para-muitos ou de chave estrangeira reversa) são seus amigos aqui.
  3. Evitando consultas redundantes:

    • Verifique consultas redundantes, onde a mesma consulta é executada várias vezes. Muitas vezes, isso pode ser evitado armazenando o resultado em cache ou reestruturando o código.
    • Exemplo: em vez de consultar um objeto relacionado dentro de um loop, busque todos os objetos relacionados uma vez antes do loop.
  4. Considerações sobre memória:

    • Embora a redução de ocorrências no banco de dados seja importante, considere também o uso de memória. Carregar um grande conjunto de dados na memória pode fazer com que seu aplicativo fique lento ou trave. Procure obter apenas os registros/dados necessários.

Conclusão
A revisão do desempenho das consultas do banco de dados é uma habilidade que se desenvolve com o tempo e a experiência. Como desenvolvedor júnior, comece concentrando-se no básico: contar ocorrências no banco de dados e encontrar maneiras de reduzi-las. Ferramentas como connection.queries, reset_queries e recursos ORM do Django são inestimáveis ​​neste processo. Com o tempo, você desenvolverá uma intuição para detectar problemas de desempenho apenas observando o código. Até então, conte com as ferramentas e técnicas discutidas aqui para orientá-lo.

Dicas adicionais:

  1. Entenda o Plano de Execução: Aprofunde-se ao compreender o plano de execução SQL gerado por suas consultas ORM. Ferramentas como EXPLAIN em SQL podem ajudá-lo a entender como seu mecanismo de banco de dados está executando consultas, o que pode fornecer insights sobre possíveis otimizações.

Uma dica para desenvolvedores mais iniciantes:
Para começar a revisar o código de outras pessoas, você não precisa conhecer todos os fluxos do sistema. Comece revisando pequenas coisas como qualidade e otimização do código. Comece fazendo a primeira passagem, concentrando-se no básico e, eventualmente, você se tornará um grande revisor.
Além disso, ao revisar, tente ser educado e prestativo em seus comentários, em vez de ser arrogante. Lembre-se, o objetivo é melhorar o código e ajudar sua equipe, não apenas apontar erros.

Declaração de lançamento Este artigo está reproduzido em: https://dev.to/aman-giri/from-developer-to-reviewer-a-junior-developers-checklist-for-reviewing-database-queries-4kdm?1 Se houver alguma violação , entre em contato com study_golang @163.comdelete
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3