SlideShare uma empresa Scribd logo
1 de 15
10 Dicas Para Otimizar Códigos T-SQL
Rodrigo Crespi
Especialista em Bancos de Dados
MCSE – Data Plataform
Speaker Bio
Rodrigo Crespi
 DBA SQL Server na CrespiDB
 Prof. de Segurança em Desenvolvimento de Software - UNIFTEC
 MCT, MCDBA, MCITP, MCSE e etc.
 Especialista em Banco de Dados – UGF
 PASS Chapter Leader – SQL Server RS
 www.sqlcrespi.com
@SQLCrespi
rodrigocrespi
br.linkedin.com/in/rodrigocrespi
PATROCINADORES
Agenda
 Para começar
 Dicas de Design
 TSQL
 .NET
Introdução
Nível 100;
Mais de 10 Dicas...
Para começar as dicas:
 Adotar padrões para:
 Nomenclatura de objetos;
 Codificação de objetos;
 Sempre que possível acessar as tabelas na mesma ordem;
 Usar o nome completo do objeto ex.: schema.tabela;
 Use sempre o padrão ANSI nas cláusulas JOIN;
Introdução
Documentar os objetos;
Design
 Deixar o filegroup default para os metadados;
 Padrão de nomenclatura;
 Tipagem de Dados;
 Colunas Char quando for non-nullable;
• Utilizar moderadamente as tabelas temporárias;
Design
 Devo gravar foto, pdf, xml e etc, como binário no meu banco?
Foto
Cliente
ID
Nome
Data
Cliente
ID
Nome
Data
ClienteFoto
Foto
IDCliente
DEMO
T-SQL
 Funções no Where;
 Evite utilizar curingas no início da palavra pesquisada usando
o Like;
 Computar Colunas;
 Set nocount on;
 *;
 Order by, or not, order by;
 Evitar cursor o máximo possível;
T-SQL / Performance
• São os melhores aliados na hora de
aprimorar uma query;
• Set Statistics IO / Time;
• Comparar planos de execução;
• Quando utilizar TSQL dinâmico utilizar
Parametrização;
DEMO
No .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.
10 dicas T-SQL otimização
10 dicas T-SQL otimização

Mais conteúdo relacionado

Semelhante a 10 dicas T-SQL otimização

24H PASS PT-BR 10 Dicas para escrever códigos t-sql melhores
24H PASS PT-BR 10 Dicas para escrever códigos t-sql melhores24H PASS PT-BR 10 Dicas para escrever códigos t-sql melhores
24H PASS PT-BR 10 Dicas para escrever códigos t-sql melhoresRodrigo Crespi
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesChristiano Anderson
 
Fazendo Um Elefante Passar Debaixo da Porta - FISL
Fazendo Um Elefante Passar Debaixo da Porta - FISLFazendo Um Elefante Passar Debaixo da Porta - FISL
Fazendo Um Elefante Passar Debaixo da Porta - FISLFabio Telles Rodriguez
 
Mongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopMongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopDiego Sana
 
5 coisas que todo desenvolvedor deveria saber sobre sql server
5 coisas que todo desenvolvedor deveria saber sobre sql server5 coisas que todo desenvolvedor deveria saber sobre sql server
5 coisas que todo desenvolvedor deveria saber sobre sql serverMarcos Freccia
 
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGIFazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGIFabio Telles Rodriguez
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open sourceRodrigo Aurélio
 
Alinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLAlinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLpichiliani
 
Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017Thiago Barradas
 
FileTable, Full Text Search e Semantic Search
FileTable, Full Text Search e Semantic SearchFileTable, Full Text Search e Semantic Search
FileTable, Full Text Search e Semantic SearchMarcos Freccia
 
FileTable, Full Text Search e Semantic Search
FileTable, Full Text Search e Semantic SearchFileTable, Full Text Search e Semantic Search
FileTable, Full Text Search e Semantic SearchMarcos Freccia
 
FileTable, Full Text Search e Semantic Search
FileTable, Full Text Search e Semantic SearchFileTable, Full Text Search e Semantic Search
FileTable, Full Text Search e Semantic SearchMarcos Freccia
 

Semelhante a 10 dicas T-SQL otimização (20)

24H PASS PT-BR 10 Dicas para escrever códigos t-sql melhores
24H PASS PT-BR 10 Dicas para escrever códigos t-sql melhores24H PASS PT-BR 10 Dicas para escrever códigos t-sql melhores
24H PASS PT-BR 10 Dicas para escrever códigos t-sql melhores
 
Palestra nosql
Palestra nosqlPalestra nosql
Palestra nosql
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
 
Fazendo Um Elefante Passar Debaixo da Porta - FISL
Fazendo Um Elefante Passar Debaixo da Porta - FISLFazendo Um Elefante Passar Debaixo da Porta - FISL
Fazendo Um Elefante Passar Debaixo da Porta - FISL
 
Mongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopMongo Db - PHP Day Workshop
Mongo Db - PHP Day Workshop
 
NOSQL - Uma real alternativa
NOSQL - Uma real alternativaNOSQL - Uma real alternativa
NOSQL - Uma real alternativa
 
5 coisas que todo desenvolvedor deveria saber sobre sql server
5 coisas que todo desenvolvedor deveria saber sobre sql server5 coisas que todo desenvolvedor deveria saber sobre sql server
5 coisas que todo desenvolvedor deveria saber sobre sql server
 
TechEd_OFC302
TechEd_OFC302TechEd_OFC302
TechEd_OFC302
 
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGIFazendo Um Elefante Passar Debaixo da Porta - CONSEGI
Fazendo Um Elefante Passar Debaixo da Porta - CONSEGI
 
O programador php
O programador phpO programador php
O programador php
 
O programador php
O programador phpO programador php
O programador php
 
No sql o_que_e_isso.key
No sql o_que_e_isso.keyNo sql o_que_e_isso.key
No sql o_que_e_isso.key
 
SQLAlchemy - Desenvolvendo uma aplicação com Python
SQLAlchemy - Desenvolvendo uma aplicação com Python SQLAlchemy - Desenvolvendo uma aplicação com Python
SQLAlchemy - Desenvolvendo uma aplicação com Python
 
Bancos de dados open source
Bancos de dados open sourceBancos de dados open source
Bancos de dados open source
 
Arquitetura Lambda na AWS
Arquitetura Lambda na AWSArquitetura Lambda na AWS
Arquitetura Lambda na AWS
 
Alinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLAlinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQL
 
Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017
 
FileTable, Full Text Search e Semantic Search
FileTable, Full Text Search e Semantic SearchFileTable, Full Text Search e Semantic Search
FileTable, Full Text Search e Semantic Search
 
FileTable, Full Text Search e Semantic Search
FileTable, Full Text Search e Semantic SearchFileTable, Full Text Search e Semantic Search
FileTable, Full Text Search e Semantic Search
 
FileTable, Full Text Search e Semantic Search
FileTable, Full Text Search e Semantic SearchFileTable, Full Text Search e Semantic Search
FileTable, Full Text Search e Semantic Search
 

10 dicas T-SQL otimização

  • 1. 10 Dicas Para Otimizar Códigos T-SQL Rodrigo Crespi Especialista em Bancos de Dados MCSE – Data Plataform
  • 2. Speaker Bio Rodrigo Crespi  DBA SQL Server na CrespiDB  Prof. de Segurança em Desenvolvimento de Software - UNIFTEC  MCT, MCDBA, MCITP, MCSE e etc.  Especialista em Banco de Dados – UGF  PASS Chapter Leader – SQL Server RS  www.sqlcrespi.com @SQLCrespi rodrigocrespi br.linkedin.com/in/rodrigocrespi
  • 4. Agenda  Para começar  Dicas de Design  TSQL  .NET
  • 5. Introdução Nível 100; Mais de 10 Dicas... Para começar as dicas:  Adotar padrões para:  Nomenclatura de objetos;  Codificação de objetos;  Sempre que possível acessar as tabelas na mesma ordem;  Usar o nome completo do objeto ex.: schema.tabela;  Use sempre o padrão ANSI nas cláusulas JOIN;
  • 7. Design  Deixar o filegroup default para os metadados;  Padrão de nomenclatura;  Tipagem de Dados;  Colunas Char quando for non-nullable; • Utilizar moderadamente as tabelas temporárias;
  • 8. Design  Devo gravar foto, pdf, xml e etc, como binário no meu banco? Foto Cliente ID Nome Data Cliente ID Nome Data ClienteFoto Foto IDCliente
  • 10. T-SQL  Funções no Where;  Evite utilizar curingas no início da palavra pesquisada usando o Like;  Computar Colunas;  Set nocount on;  *;  Order by, or not, order by;  Evitar cursor o máximo possível;
  • 11. T-SQL / Performance • São os melhores aliados na hora de aprimorar uma query; • Set Statistics IO / Time; • Comparar planos de execução; • Quando utilizar TSQL dinâmico utilizar Parametrização;
  • 12. DEMO
  • 13. No .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.