[firebase-br] indices

Eduardo Bahiense eduardo em icontroller.com.br
Qua Set 3 19:58:48 -03 2008


Olá Augusto

Índices primário te garantirão a unicidade dos registros em suas tabelas 
e isso é necessário para as funções de atualização, exclusões, bem como 
para os relacionamentos com outras tabelas.

Você precisará de índices secundários, basicamente, para melhorar a 
performance da recuperação dos dados, e também nas operações acima que 
não estiverem cobertas pela própria chave primária.

Assim, em uma tabela de pessoas, normalmente a PK é um número, mas, 
frequentemente, você busca pessoas por nome, dessa forma, um índice em 
nome te auxiliará bastante.

Aí você poderia pensar: Então colocarei índices em todos os campos para 
otimizar performance, e cai do cavalo. Índices são arquivos secundários 
que precisam manter consistência com a tabela. A cada alteração da 
tabela, os índices precisam ser atualizados, causando aumento de 
processamento, consumo de memória e acesso a disco, degradando a 
performance.

Outra coisa, índices com mutios valores repetidos, por exemplo, indexar 
pelo campo cidade, mais atrapalham do que ajudam. Pense em um livro, pos 
a correlação é bem essa: Se quero um assunto específico, é mais fácil ir 
no índice e evr em que página está e depois ir direto na página, do que 
folhear o livro inteiro cada vez. Agora, se vou no índice e o assunto 
que eu quero, consta que existe em 80% das páginas, melhor ir folheando 
página por página, que é mais rápido.

Bem, vai aí uma visão geral para iniciantes. O assunto é um pouquinho, 
não muito, mais complexo que isso.

Abraço

Eduardo

Augusto junior escreveu:
> Esto construindo as tabelas somente com indices primarios, pois li em um
> artigo na net que os indices secundarios
> podem atrapalhar o desempenho do programa...
> 
> afinal...
> 
> em que situacoes os indices secundarios atrapalham:?
> qdo usar indices secundarios?
> 
> em tabelas que nao ha necessidade de um campo chave... tipo produtos
> vendidos... nao estou criando
> chave primaria... seria necessario um indice secundario?
> 
> grato
> Augusto
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista