20
Evento das Comunidades MCITP SC e BluDotNet 5 Coisas que todo desenvolvedor deveria saber sobre SQL Server

5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

Embed Size (px)

Citation preview

Page 1: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

Evento das ComunidadesMCITP SC e BluDotNet

5 Coisas que todo desenvolvedor deveria saber sobre SQL Server

Page 2: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

Marcos FrecciaEspecialista em SQL ServerMCTS | MCITP | MCT SQL Server 2008KEEPIT

#EventoTIBlumenau

Quem sou eu?Contatos:Blog: www.marcosfreccia.wordpress.com Twitter: @SqlFrecciaE-mail: [email protected]

Page 3: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

Agenda

Evitando uso de variáveis locais Conversão Implícita vs. Index Seek Seletividade dos Índices Heap Table Utilização de SP_ em procedures

Page 4: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

Evitando uso de variáveis locais

• O SQL Server otimiza os dados que ele conhece.

• Conhecem as fases de processamento de uma consulta?

Page 5: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

Evitando uso de variáveis locais

Page 6: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

DEMO

Evitando uso de variáveis locais

Page 7: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

Conversão Implícita vs. Index Seek

Overhead no Query Optimizer Maior consumo de CPU Precedência do tipo de dados Comparações utilizando mesmo tipo de

dados.

Page 8: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

DEMO

Conversão Implícita vs. Index Seek

Page 9: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

Seletividade dos Índices

Primeiro lugar. Vocês sabem o que é um índice?

Estrutura interna de organização e ordenação dos dados

Física ou lógica.

Page 10: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

Seletividade dos Índices

Page 11: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

DEMO

Seletividade dos Índices

Page 12: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

Heap Table

Tabela sem índice clustered Não existe ligação entre os dados SQL Server ira utilizar Table Scan para ler os

dados.

Page 13: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

Heap Table

Page 14: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

DEMO

Heap Table

Page 15: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

Utilização de SP_ em procedures

Você esta criando uma armadilha para erros

SQL Server assume que é uma Store Procedure de sistema.

Page 16: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

Utilização de SP_ em procedures

Procura na base de dados Master Na Base de dados corrente, utilizando

qualificadores como (nome da base ou dono da base)

Na base de dados corrente utilizando o schema dbo.

Page 17: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

DEMO

Utilização de SP_ em procedures

Page 18: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

Dúvidas ??

Page 19: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

Patrocinadores

Apoio Não basta fazer, é preciso saber fazer

Page 20: 5coisasquetododesenvolvedordeveriasabersobresqlserver 111120075951-phpapp02

OBRIGADO!!!

Contatos:Blog: www.marcosfreccia.wordpress.com Twitter: @SqlFrecciaE-mail: [email protected]