Olá! Seja bem-vindo!
Quando falamos de resolver problemas de performance do software, muita gente acredita que a solução só virá de implementações complexas. Em minha experiência, isso nem sempre é verdade, e hoje veremos um exemplo prático disso.
Seja em integrações, importações de arquivos ou atualizações de versão da base SQL do seu sistema, é comum carregarmos grandes quantidades de dados.
No post de hoje, mostrarei 2 dicas tremendamente simples de implementar, mas que podem fazer uma grande diferença na performance dos seus scripts e rotinas de carga.
Assista o vídeo de demonstração aqui:
SET NOCOUNT ON
Como vimos no vídeo, o SET NOCOUNT ON reduz o tempo de execução eliminando tráfego de rede entre o serviço do SQL e o cliente da conexão (SSMS) originado pelas confirmações (1 row affected) para cada insert realizado.
O resultado positivo percebido no SSMS ocorre em qualquer outra aplicação que esteja executando inserts, updates ou deletes no banco SQL, por tanto, a menos que você vá utilizar a informação (1 row affected) em sua aplicação, é interessante iniciar seu código com o comando SET NOCOUNT ON.
BEGIN TRANSACTION
Como vimos no vídeo, trabalhar as alterações do banco dentro de uma única transação reduz o tempo de execução a medida que o SQL Server precisará fazer apenas 1 persistência global de transação, ao invés de 1 persistência para cada operação que esteja sendo executada (seja ela insert, delete ou update).
Scripts completos da aula de hoje
Conclusão
Existem diversas formas de melhorar a performance de suas querys e programas, mas não podemos perder de vista o básico que as vezes dá resultados surpreendentes.
Pensemos em soluções simples antes de complicar, e validemos bem o que estamos propondo antes de sair implementando, pois nem tudo que funciona na teoria é viável na prática.
No mundo digital de hoje, o cuidado com performance tornou-se um ponto chave para você ter sucesso em suas entregas e se destacar da multidão profissionalmente, e hoje vimos tecnicamente que isso é simples de fazer em alguns casos, desde que você aborde a questão com o conhecimento técnico apropriado.
Abraço do seu amigo Josué