Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
1173
Assunto : SQL Server
Titulo: Utilizando Cast como Date para melhorar a performance

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon




O tipo Date, que apenas armazena a data, ao invés do tipo DateTime, que armazena data e hora, pode ajudar muito na performance de algumas queries.

A pergunta chave é: Como fazer uma query que filtre as informarções de um dia específico ?

Veja o exemplo abaixo :

select * from bigtransactionhistory where
transactionDate=getdate()


Seria uma query simples, mas claro que não vai funcionar. Isso porque tanto o campo transactionDate (é um exemplo do adventureworks2012) como o resultado de getdate são do tipo datetime. Com isso a informação de ambos contém a hora.

Utilizar funções para extrair apenas a data não só torna a query complexa, como prejudica a performance, pois funções do lado esquerdo de uma comparação impede que sejam utilizados indices.

Para solucionar esses problemas podemos fazer cast do tipo datetime para o tipo date, veja como fica :


select * from bigtransactionhistory where
transactionDate >= cast(getdate() as date) and transactionDate < cast(getdate()+1 as date)

A utilização do cast como Date já faz com que a query possa fazer uso de indices. Porém é importante observar o cuidado de não utilizar funções do lado esquerdo, nem mesmo o cast, pois impediria o uso de indice, dai a comparação de maior e menor.


Veja mais detalhes em http://cidadaocarioca.blogspot.com.br/2015/01/tipo-date-pode-ajudar-performance-das.html


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br