Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
203
Assunto : SQL Server
Titulo: Fazendo nonclustered funcionar como clustered - covering indexes

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



Imagine que você possui uma tabela de funcionarios na qual você constantemente faz order by e group by por cidade e cargo, mas nunca em conjunto, ora por cidade ora por cargo.

Se fosse em conjunto facilitaria a criação dos índices. Bastaria criar um índice composto com 2 campos. Mas não. Suas regras de negócio resolveram complicar e usar os 2 campos em separado. E ai, qual escolher para clustered ?

Inicialmente imagina-se que o campo que ficar com índice nonclustered terá pior performance nas querys do que o campo que ficar com índice clustered. Mas é exatamente neste ponto que surge o conceito de convering index.

Digamos que você resolva colocar o clustered em cargo e o nonclustered em cidade. Por que o nonclustered tem pior performance que o clustered ? Porque ao ser feita uma busca ele faz o bookmark lookup com a chave do índice clustered para encontrar a linha de dados. Correto? Normalmente sim, mas é ai que entra o conceito de covering index.

Veja a seguinte query :

Select cidade,count(*) as total from funcionarios group by cidade

Se existe um índice nonclustered em cidade então ele tem em sua árvore, de forma ordenada, o campo cidade, que é a chave do índice. Ora, o campo cidade é o único campo utilizado por essa query, isso significa que quando essa query for executada com este índice nonclustered não será necessário fazer o bookmark lookup para a área de dados para localizar as informações, além de que todas as informações de cidade já estarão ordenadas.

Desta forma, o indice nonclustered em cidade terá, para a query acima, a mesma eficiência que um clustered. Este é o chamado covering index, que inclui em suas chaves todos os campos utilizados por determinadas querys, mantendo os campos na árvore e tendo uma maior eficiência.

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