[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