Este documento fornece 10 dicas para escrever códigos T-SQL melhores, incluindo adotar padrões de codificação e nomenclatura, documentar códigos, usar controle de transações, tratar erros, melhorar performance e analisar planos de execução.
1. 10 Dicas para Escrever
Códigos T-SQL Melhores
Rodrigo Crespi
2. Speaker Bio
2
Rodrigo Crespi
MCT, MCDBA, MCITP, MCSE e etc.
Especialista em Banco de Dados – UGF
Mestrando em Engenharia de Software - UEMC
PASS Chapter Leader – SQL Server RS
www.sqlcrespi.com
Picture Here
@SQLCrespi
rodrigocrespi
br.linkedin.com/in/rodrigocrespi
3. 3
Agenda
10 Dicas de como escrever códigos melhores:
1. Padrão;
2. Documentação;
3. Controle de transação;
4. Tratamento de erro/exceções;
5. Desenvolvedor .NET;
6. Eliminando dados;
7. Output;
8. Performance;
9. Planos de execução;
10. Estudo.
3
4. 4
DICA 1 - Padrão
Adotar padrões para:
Nomenclatura de objetos;
Codificação de objetos;
Sempre descrever as colunas;
Sempre acessar as tabelas na mesma ordem;
Usar sempre schema.tabela;
Use sempre o padrão ANSI nas cláusulas JOIN;
4
7. 7
DICA 3 - Controle de Transações
O SQL Server mantém a consistência da gravação dos dados baseado no
transaction log;
Todas as transações são compostas de um Begin Transaction que marca o
início do código;
O final da transação pode ser um Commit transaction, commit work, ou um
rollback transaction, rollback work;
7
8. 8
DICA 4 - Tratamento de Erro/Exceções
• Erros podem acontecer;
• Try...Catch...Throw;
• Begin Tran...Commit Tran.
8
Begin Try1
Begin Tran2
Código T-SQL3
Commit Tran4
End Try5
Begin Catch6
Rollback7
End Catch8
9. 9
DICA 5 - Desenvolvedor .NET
• Incluir o nome da aplicação na string de conexão;
• Quando necessitarmos de um order by para uma consulta e for possível
utilizar a ordenação em componentes como o sort do dataview;
• Operações de manipulação;
• Quando enviar um comando de insert, update, delete ao banco de dados
utilizar o @parameter para enviar os parâmetros.
9
10. 10
DICA 6 - Eliminando Dados
• Truncate table;
• Delete;
• Arquivando dados;
10
11. 11
DICA 7 - Output
É a cláusula que retorna os dados que
foram alterados;
11
13. 13
DICA 8 - Performance
• O identificador da linha;
• Não utilizar "Select *";
• Evitar cursor o máximo possível;
• Evite tabelas temporárias;
• Evite utilizar curingas no início da palavra pesquisada usando o Like;
• Teste algumas possibilidades na montagem da Query;
• Usar o Set NoCount On no início dos batches;
• Usar colunas CHAR somente quando a coluna for non-nullable;
• Não chamar funções repetidamente;
13
14. 14
DICA 9 - Analisando Planos de execução
• São os melhores aliados na hora de aprimorar
uma query;
• SHOWPLAN_TEXT ou SHOWPLAN_ALL
• Procure sempre melhorar as queries para que
sejam index seek ao invés de index scan ou table
scan;
14
16. 16
DICA 10 - Estudo
• Conhecer o negócio;
• Aprender outras linguagens ex.: PowerShell, C#, VB.NET;
• Estudar o SO;
• Compreender a terminologia para discutir com os termos corretos;
• Sempre participar dos eventos da comunidade SQL SERVER. ;)
16