Tuning
Published: 2023-11-13 20:12:25

**Tuning**

Ao ouvir essa palavra "tuning" muitas pessoas podem pensar que está relacionada a questão de performance ou ao fato de melhorar o desempenho para certa tarefa e essas pessoas estarão corretas por pensarem desse jeito. A questão de Tuning é sempre um tópico a ser mencionado quando alguém precisa melhorar o nível de performance de uma tarefa seja ela algo que seja trabalhoso e demores muito ou até mesmo algo simples mas repetitivo que pode ser automatizado para poupar trabalho

O tuning é um dos tópicos mais procurados por pessoas com interesse em tecnologia por ser algo muito interessante e importante que pode te auxiliar em atividades profissionais ou até mesmo no seu lazer 

O que é o tuning ? ao ouvir isso muitos podem lembra de carros já que a "tunagem" de veículos chama muita atenção e pensar dessa forma leva ao resultado correto já que o sinônimo de tuning é a otimização, ou seja, uma ou mais ações que você realiza com o objetivo de trazer o máximo de performance possível para o ambiente que você está trabalhando e na parte da tecnologia isso pode se aplicar em varias camadas como na parte da infraestrutura e até mesmo na parte de banco de dados.

**Como "tunar" o BD ?**

Ao perceber que o sistema esta lento muitas pessoas podem ser atraídas para a questão de peças já que algumas vezes quando algo não funciona bem é porque precisa de reparos ou trocas, sendo assim muitas pessoas pensaram em fazer um upgrade no processador da maquina, acrescentar mais espaço do disco ou até mesmo trocar os discos por outras com uma leitura mais rápida. Isso mesmo não estando errado ainda não é a forma correta de executar o tuning já que isso pode gerar um ciclo vicioso já que o banco de dados pode ficar maior e maior e assim você pode acabar sempre precisando de mais e mais peças para suprir a demanda de processamento. O recomendado seria adicionar outros tipos de mudanças em conjunto para conseguir um resultado mais eficiente no seu ambiente 

**Formula do sucesso**

O processo ideal para o tuning seja feito com sucesso é juntar e analisar varias formas de melhorar o ambiente sejam elas:

- Melhoras na infraestrutura
- Aplicação
- Configurações no ambiente

O processo de tunign pode ser dividido em 3 etapas:

- Entender o problema (Deve ser coletado varias informações sobre o problema no ambiente)
- Diagnosticar (Após a coleta de informações sobre o problema, deve-se analisar os dados e descobrir quais serão os passos que serão dados visando especificar bem o problema e descobrir o que você ira fazer para resolve-lo)
- Execução (Após o diagnostico do problema e o mapa de como resolve-lo você ira "botar a mão na massa" e tomar as ações necessárias para otimizar o seu ambiente e resolver o problema que foi descoberto)

**Algumas técnicas do Tuning**

-Índice
Criar um índice permite que a informações seja obtida de forma mais rápida

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/byn2nr9q3h2tqty9fcow.png)


-Evite usar "OR" na pesquisa
Não é possivel processar o "OR" em uma operação, em vez disso, o algoritmo avalia os componentes um por um o que pode causar queda na performance

Ao invés de:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bfwbvzhylz5r7pbzjcnm.png)

Faça:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a9mzzkyojyn1ytxtmz19.png)


-Especifique a sua busca
Ao selecionar tudo em uma tabela para ser exibido o algoritmo pode puxar muitos recursos quando se trata de uma base de dados muito grande, ao invés disso, utilize argumentos mais específicos para buscar dados

Ao invés de:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hcenpizyjnhsqeexp2rv.png)

Faça:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rjlkf88vg2km7qaxoiyn.png)

Após tudo o que foi mostrado pode-se concluir que as boas praticas do tuning podem ser um diferencial no quesito de performance do banco de dados e por isso deve ser um tópico que deve estar na mira de muitos desenvolvedores quando se trata de banco de dados ou qualquer projeto para ser mais preciso.

**GRUPO:**
Luiz Henrique Almeida da Silva - 191192
Lucca Alves Santos - 190647
Mathes Henrique Lopes Rodrigues - 190922