What you'll learn:
- Criar códigos em T-SQL mais eficientes, com tempo de resposta reduzida e baixo consumo de recursos.
- Realizar ajustes em código em T-SQL que apresentam problemas de performance.
- Monitorar o ambiente, identificar comandos com problemas e recursos de infraestrutura.
- Criar os melhores índices para melhorar o desempenho, sem realizar ajustes em códigos.
- Analisar a execução dos comandos, identificando os pontos onde apresentam os gargalos de desempenho.
- Criar um estrutura otimizada de banco de dados e tabelas para receber os dados das aplicações.
- Melhorar a eficiência dos aplicativos e sistemas, levando ao usuário a melhor experiência em navegação como também agilizar os seus processos.
Você que o Desenvolvedor em SQL Server é está cansado de esperar a sua query demorar mais de 1 minuto para executar.
E se você aprender que ela pode ser executada em 1 segundo com SQL Tuning?
Neste curso você vai aprender os conceitos e as bases para criarsuasconsultas de banco de dados comalta performance ecom códigos altamente eficientes em T-SQL utilizando o SQL Server com as mais de 25 dicas, truques e técnicas simples e eficazes.
A arte de SQL Tuning das consultas é um dos pontos máximo para o Desenvolvedor em banco de dados. Diversos sistemas empresariais (SAP ou Siebel, por exemplo), lojas deeCommerce, aplicações web como gestores de finanças pessoais, entre outros sempre necessitam de um banco de dados de alta performancepara seu repositórios de dados.
E o desafio dos desenvolvedores de aplicativos é garanticr que as informações sejam recuperadas no menor tempo possível. As pessoas precisam e querem respostas rápidas e isso pode ser determinantepara que a sua aplicação ou o site da sua empresa tenha sucesso.
Vários fatores no código SQL podem contribuir para que consultas ou relatórios apresentem lentidão e baixa performance. Entre elas temos:
Instruções mal escritas ou não respeitando boas práticas;
Colunas mal definidas eocupando espaços desnecessários;
O banco de dados alocado em um único disco concorrendo com o sistema operacional;
Tabelas sem índices, índice mal dimensionado ou obsoleto;
Conversões de dados desnecessários;
Outros pontos podem influenciar o desempenho do acesso aos dados:
Hardware mal dimensionado;
Instalação e configuração do sistema operacional não estão de acordo com boas práticas para banco de dados;
Dimensionamento errado dos conjuntos de discos;
Instalação e configuração do gerenciador de banco de dados.
Complemento a lista, você deve considerar ainda:
O aumento gradativo da massa de dados que está em constante aumento no banco de dados;
O aumento de conexões e usuários nas aplicações e sistemas;
O número de bancos de dados que são incluídos na instância e aumenta o compartilhamento de recursos do hardware.
SQL Tuning
Mas atividade de realizar SQL tuningnão é uma ciência exata onde um ajuste de desempenho sempre terá um efeito positivo. Existem vários procedimentos que devem ser seguidos a fim de obter o melhor resultado.
Você deve monitor o ambiente para identificar os possíveis problemas. Ferramentas como “Performance Monitor” e“Resource Monitor” do Windows ajudam no monitoramento. No SQL Server, podemos usar o Profiler, Extended Events e as DMVs para monitorar os comandos e recursos do servidor.
Com base nos dados capturados, você deve elaborar um relatório para apresentar o status do sistema, métricas colhidas, consultas com baixo desempenho e alto consumo de recursos, índices com pouco utilização ou obsoletos, tabelas que sofrem muitas pesquisas sequencias e poucas pesquisas pontuais, discos com alta taxa de utilização são alguns exemplos.
Com base nos dados apresentados, vocêdeve iniciar a aplicação das técnicas aprendidas nesse treinamento e testar. O importante e correto é aplicar os procedimentos em um ambiente de QA ou Homologação e testara fim de validar se o que foi aplicado surtiu o resultado esperado. Teste muito antes de colocar em ambiente de produção.
Implementar o que foi validado nos teste em ambiente de produção. A dica aqui é não implementar todas as técnicas de uma só vez. Se algo de errado acontecer, você não saberá qual das implementações não funcionou. Esse processo será demorado e em certos casos será necessário interromper o serviço de banco de dados.
E isso é um ciclo constante, que deve ser aplicado periodicamente como uma boa prática.
Nosso objetivo nesse treinamento é apresentar técnicas e boas práticas no desenvolvimento de diversos comandos em SQL.
Algumas dicas que você aprenderá:
Configurar a memória do SQL Server;
Criar o banco de dados em vários discos;
Entendertipo e tamanho dos dados corretos;
Criar tabelas em discos específicos;
Criar tabela para ocupar o menor espaço;
Aprender a criar colunas calculadas
Compactar tabelas;
Entender como funciona uma página de dados;
Ler estatísticas de tempo e leitura
Visualizar os comandos em execução;
Monitorar o seu servidor e banco de dados;
Analisar os planos de execução de comandos;
Como definir uma chave primária com índice;
Como definir uma chave estrangeira com índice;
Criando índice composto para cobrir todas as pesquisas;
Identificar tabelas quem tem mais SCAN e poucos SEEK;
Utiliza o conceito de índice de cobertura;
Como identificar os índices obsoletos e que não são utilizados;
Como evitar as quebras de páginas (pages splits);
Criar pesquisas SARG com alto desempenho;
Transformar pesquisas para SARG;
Eliminar as conversões explícitas de dados;
Melhores práticas para utilizar as UDF;
O uso correto para NOCOUNT em Store Procedures;
Quando validar dados para atualizações;
Definir o nome correto para store procedures;
Quando utilizar SET ou SELECT para atribuir valor a variável.
Utilizar UNION ALL no lugar de UNION;
Essas são algumas das dicasque estarão no nosso treinamento como outras que serão apresentados juntos com as mais de 50 aulas que teremos.
Espero que goste do nosso treinamento e que aproveite ao máximo com o aprendizado.
Obrigado.
Wolney.