2
respostas

Qual a vantagem do Query builder?

No texto diz que tanto o ORM quanto o Query builder permitem "o uso de raw queries, em que é possível adicionar consultas em SQL ao código para resolver casos mais específicos sem perder o restante das funcionalidades e vantagens das ferramentas.", então qual seria a vantagem de usar o Query builder já que o ORM também permite escrever querys mais complexas?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas

Olá Luidi! Como vai?

A sua dúvida é bastante pertinente! Tanto os ORMs quanto os Query Builders têm suas próprias vantagens e desvantagens, e a escolha entre eles depende muito das necessidades específicas do seu projeto.

Os ORMs, como o Sequelize, são ótimos para quem busca facilidade de uso e abstração. Eles mapeiam tabelas do banco de dados para classes e fornecem métodos prontos para manipular os dados, o que pode acelerar o desenvolvimento e facilitar a manutenção do código. Isso é especialmente útil se você ou sua equipe não têm um conhecimento profundo de SQL, já que o ORM faz grande parte do trabalho pesado por você.

Por outro lado, os Query Builders, como o Knex, oferecem um nível de controle maior sobre as consultas SQL que estão sendo geradas. Isso pode ser uma vantagem significativa em situações onde a performance é crítica ou quando você precisa de consultas SQL muito específicas e complexas. Com um Query Builder, você pode escrever consultas que são mais próximas da sintaxe SQL original, o que pode ser mais eficiente e flexível em alguns casos.

Um exemplo prático seria uma aplicação que precisa de otimizações de performance muito específicas. Com um Query Builder, você pode ajustar as consultas exatamente como precisa, enquanto com um ORM, você pode ficar limitado pelas abstrações que ele fornece.

Em resumo, se o seu projeto requer consultas SQL complexas e você precisa de um controle fino sobre o SQL gerado, um Query Builder pode ser a melhor escolha. Se a facilidade de uso e a abstração são mais importantes para você, um ORM pode ser mais adequado.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Mas o ORM como o sequelize não permite fazer consultas SQL complexas por meio do uso de raw queries? Isso não tiraria a vantagem do Query Builder?