Olá pessoal, o post de hoje é voltado especialmente para aqueles que querem dar uma “turbinada” no seu SGBD (Sistema de Gerenciamento de Banco de Dados). Antes de iniciarmos, gostaria de avisa-los que não existe uma solução mágica para deixar seu banco de dados mais performático, mas existe algumas dicas que com certeza vão ajuda-lo. Então vamos lá!

 

Tuning em banco de dados para melhorar a performancePrimeiro de tudo, se a sua aplicação estiver lenta não saia colocando a culpa no banco, às vezes a culpa nem é dele e sim da aplicação ou da infraestrutura como servidores, storage ou switches. Como já comentamos uma fórmula secreta não existe, mas alguns ajustes aqui e ali podem fazer com que a sua aplicação responda bem mais rápido, o importante é conversar com as áreas envolvidas, ter paciência, aprender a ser curioso e testar as alternativas.

Princípio de Pareto

Estão lembrados?? Ele diz que 20% das entradas são responsáveis por 80% dos resultados. Podemos fazer uma analogia trazendo esse princípio para os SGBD’s, onde cerca de 20% do seu banco será acessado 80% das vezes. Concentre-se em identificar e otimizar esses 20%.

Keep it simple

Procure trazer somente as informações necessárias do SGBD, pois a quantidade de colunas e seu tamanho influenciam na resposta. Ou seja, cuidado com o SELECT * FROM…

Faça do Índice o seu aliado

O Índice é uma estrutura secundária e ordenada que tem por finalidade referenciar a tabela em si, essa estrutura pode ser uma árvore, hash e etc, então não cometa o erro de criar índices como um louco em suas tabelas achando que elas irão te responder mais rápido.Por isso, quando fazemos uma busca e utilizamos a coluna indexada na cláusula WHERE ela é bem mais rápida. Porém, manter essa estrutura possui um custo, o que faz com que a inserção numa tabela que contém índices se torne mais custosa.

Outra dica em relação aos índices é verificar o tipo da coluna que está sendo indexado. Em geral, os índices são bem eficientes para campos de valores numéricos. Entretanto, para campos alfanuméricos, o índice tem a sua performance condicionado ao tamanho do campo. Por exemplo: um índice criado sobre uma coluna VARCHAR(30) será “mais rápido” que o criado sobre uma coluna VARCHAR(255). A dica aqui é ficar atento e, se possível, reduzir o tamanho das colunas para a quantidade necessária de caracteres.

Explore o paralelismo

Atualmente, vivemos em uma era em que os microprocessadores são dominados por múltiplos núcleos. Até dispositivos móveis como smartphones, tablets e consoles portáteis estão recebendo microprocessadores com múltiplos núcleos. Mas isso não quer dizer que as aplicações estejam preparadas para obter o máximo de desempenho proporcionado por esse hardware.

Sendo assim, é recomendável sempre procurar explorar o paralelismo em banco de dados. Apesar de essa preocupação ser relativamente recente, e talvez um pouco mais comum para quem trabalha com programação, a exploração de paralelismo deve ser considerada quando for necessário otimizar instruções SQL.

Infelizmente, existem poucos recursos para a manipulação, ou aplicação direta de conceitos de programação paralela direto no banco de dados. Entretanto, é possível utilizar algumas técnicas para explorar o paralelismo na execução de instruções SQL, dependendo, principalmente, do banco de dados a ser utilizado.

Cheque seu hardware

Por mais que suas consultas estejam otimizadas, o hardware faz diferença. Os SGBD’s estão o tempo todo acessando, fazendo operações de leitura e escrita no seu disco rígido, por isso verifique os tipos de discos e servidores existentes no mercado, compare-os para fazer a melhor escolha dentro do seu orçamento.

Existem outros pontos importantes a serem abordados, como uma boa modelagem, a divisão de tabelas grandes em menores de acordo com seus acessos, como aproveitar o cache do banco, vamos tratar desse pontos em outro post!

Você gostaria de ajuda para melhorar a performance de seu banco de dados?

Temos o serviço de analise de performance, que identifica o impacto negativo, sob o aspecto de baixo desempenho que pode ocorrer no banco de dados, o cliente terá como principal informação quais são os comandos emitidos contra o banco de dados que necessitarão de ajustes, permitindo que os mesmos possam ser corrigidos eliminando quaisquer impactos negativos, além disso temos equipe certificada em infraestrutura de TI, desta forma podemos auxilio em diagnosticar possíveis perda de desempenho que envolva servidores, storage, ativos de rede.

Entre em contato conosco, e agende uma visita

fale conosco, podemos ajudá-lo com o crescimento de sua empresa

Acompanhe a Tripletech nas redes sociais:
Siga-nos no Facebook Tripletech Siga-nos no Twitter, Tripletech Siga-nos no Linkedin, Tripletech