[firebase-br] Trabalhando corretamente com Indices

Carlos H. Cantu listas em warmboot.com.br
Ter Nov 30 14:40:33 -03 2010


Sugiro ler essas duas mensagens, enviadas pela Ann, contendo
informações muito interessantes sobre os índices:
http://tech.groups.yahoo.com/group/firebird-support/message/110653
http://tech.groups.yahoo.com/group/firebird-support/message/110657

Quanto a eficiência dos índices, podemos dizer que quanto mais chaves
repetidas um índice tem, menor será sua eficiência. Um índice com
10.000 chaves, sendo que 9.500 contem o valor "A", e 500 o valor "B",
será, no geral, ineficiente, especialmente quando as pesquisas forem
buscando o valor "A".

Lembrando que o Firebird não atualiza as estatísticas de um índice
automaticamente. Isso só é feito quando um SET STATISTICS é executado,
ou o índice é ativado.

[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br

AS> Então, eu não acredito muito nisso. Levando-se em conta que os índices
AS> são do tipo B-Tree, cada vez que um valor é inserido/deletado/alterado o
AS> banco deve refazer a árvore, para melhorar a seletividade. Quanto menor
AS> a granularidade a árvore vai ficar mais larga e menos alta e esse é o 
AS> pior caso possível para o algoritmo de pesquisa/atualização. O overhead
AS> acaba sendo muito alto nas operações de alteração e pouco ou nenhum 
AS> resultado no select, que acaba não justificando o índice.

AS> Por favor, me corrijam se falei alguma besteira.

AS> []'s





Mais detalhes sobre a lista de discussão lista