Вы находитесь на странице: 1из 15

Treinamento

SQL Server
2012
Leonardo Pedroso Costa
MCP MCTS MCITP SQL Server 2008
Administrador de banco de dados
leonardo.costa@webgci.com.br

O que vamos aprender !


Variveis e tabela temporria
Transaes
Tipos de dados
JOINs
Algumas funes interessantes
Quebrando mitos !!
Dicas para aumentar a produtividade e procedures de
sistema
Tunning (anlise de leituras, plano de execuo, ndices)

Variveis e tabelas temporrias


Reutilizveis e fceis de manipular
Recomenda-se declar-las com o mesmo
tipo de dados da coluna a ser comparada
Podem ser usadas na clusula where, no
select e no FQDN (banco.schema.tabela)
de uma consulta

Transaes
Begin transaction / Commit /
Rollback
IF @@ERROR <> 0
Select @@trancount

Tipos de dados
Numricos exatos: Tinyint, SmallInt, Int, BigInt, bit,
Money, Smallmoney, Decimal
Numricos aproximados: float, real
Texto: NVarchar(xxx), NChar(xx)
Data: Datetime, smalldatetime, date, time
Binrios: Binary, Varbinary
Economize espao em disco e memria utilizando o tipo de dados
adequado.
http://technet.microsoft.com/pt-br/library/ms187752.aspx

JOINs
INNER
RIGHT
LEFT
FULL

Funes
Utilizar apenas para tratamento de dados
e relatrios
No implementar em rotinas de produo
Exemplos:

LEN

Elower
C
LA

P
REPLICATE
E
R
RTRIM
UPPE
R
SUM
LTRI

Quebrando mitos
COUNT(coluna) versus COUNT(*)
DISTINCT versus GROUP BY

HAVING x Where

TOP 1 ORDER BY DESC versus MAX


UNION versus UNION ALL
Ordem das tabelas no JOIN

Procedures de sistema
SP_HELP Verificar estrutura da tabela
SP_SPACEUSED Verificar quantidade de linhas e tamanho da
tabela
SP_HELPINDEX2 Verifica todos os ndices da tabela

SP_HELPTEXT Retorna o texto de uma procedure / view / function


Consulta em linked server (SRI, GPA, Homolog, Dev, 24Horas)

Dicas para aumentar a produtividade


Usar a procedure SP_MSFOREACHDB
Uso da sys.tables, sys.columns e sys.types
Site para identar comandos T-SQL (http://poorsql.com/) e
plugin

Tabelas temporrias

Piores prticas e ndices


No se esquea da PK
select * from
O que indexar no where, order by, group by e nos dados
do select
Fragmentao de ndices
Overhead de gravao

Mtodos de acesso

Criando ndices
Include

KEY

Verificao de ndices:
Procedure: sp_verificaFragmentacao +
nome da tabela
Analisando o plano de execuo
sp_helpindex2 + nome da tabela
Select * from sys.indexes
Select * from sys.index_columns

-------------------------------------------------------------where, group by, order by ----------sp_verificaFragmentacao


-----------------------------------------------------------------------select
User seeks | User Scans | User Lookups =

Fill Factor

O que vem por a


Nveis de isolamento (Leitura suja, leitura confirmada, serializable) +++
Chave estrangeira e restries
XML no banco de dados (exportao, importao)
CTEs
Locks, Deadlocks e Blocking
FULLTEXTSEARCH
FileStream

Вам также может понравиться