[firebase-br] Mal uso de índice

Felipe Aron felipearon em gmail.com
Ter Out 26 13:38:26 -03 2010


Aconteceu algo interessante aqui no meu teste (Fb 1.5):

Tenho um índice numa tabela cujo valor da estatística é: 0,5 - ou seja, no
total de registros existem apenas dois tipos de valores !

Ai para teste eu, inclui um terceiro valor, e setei novamente
a estatística (set statistics index...) e funcionou corretamente: 0,3333...

Ai voltei para apenas dois valores e recalculei o indice - O correto era
voltar para 0,5 certo? Mas ficou o 0,3333....

Seria isso um bug ?

Estou fazendo um backup/restore pra ver se o valor da estatística permanece.


Em 26 de outubro de 2010 13:12, Alexandre Sousa
<dave.malkavian em gmail.com>escreveu:

> Exatamente.
>
> Quanto mais próximo de 1, mas valores repetidos existem na coluna. Certa
> vez algum usuário da lista fez a seguinte comparação: é como o índice de um
> livro. O índice funciona porque os temas estão bem divididos, permitindo uma
> consulta rápida. Se todos os temas fossem semelhantes e eu quisesse procurar
> teria que procurar em várias páginas, o que reduziria a velocidade da
> pesquisa.
>
> []'s
> Alexandre Sousa
>
> Em 26/10/2010 13:07, Felipe Aron escreveu:
>
>  Pedro, foi exatamente oq pensei. Caso realmente precise, eu usaria trigger
>> pra tratar a integridade. :D
>>
>> Alexandre, excelente artigo.
>>
>> Pelo que entendi a seletividade do índice é bom quando o valor se aproxima
>> de 0 ... já 0,5 não seria uma boa escolha criar um índice para aquele
>> campo.
>> Seria isso mesmo ?
>>
>>
>>
>> Em 26 de outubro de 2010 12:01, Alexandre Sousa
>> <dave.malkavian em gmail.com>escreveu:
>>
>>  Acredito que seja uma resposta normal do banco e nada a que se preocupar.
>>> Você precisa da integridade referencial e para isso é criado um índice. O
>>> problema é que para consultas esse índice não é muito recomendado de ser
>>> utilizado.
>>>
>>> Dá uma olhada no link http://www.firebirdfaq.org/faq167/ para ver como o
>>> firebird calcula a seletividade do índice e porque o ibexpert falou que é
>>> um
>>> índice ruim.
>>>
>>> Eu não me preocuparia com esse alerta
>>>
>>> []'s
>>> Alexandre Sousa
>>>
>>> Em 26/10/2010 11:39, Pedro Braga escreveu:
>>>
>>>  Felipe, quando a questão Relatada o DB tera uma carga a ser atualizada
>>> sem
>>>
>>>> que a difereças entre os registros é relativamente baixa nesse campo e
>>>> isso
>>>> podera trazer um certa lentidão na tabela dependendo da quantidade de
>>>> registro uma forma para solucionar isso é remover a FK e tratar a
>>>> integridade apenas em trigges fazendo que o bd não tenha que atualizar a
>>>> arvore de index desse campo deixando as operações na tabela mais
>>>> rapidas,
>>>> mesmo fazendo o tratamento via trigger.
>>>>
>>>> Em 26 de outubro de 2010 08:24, Felipe Aron<felipearon em gmail.com>
>>>>  escreveu:
>>>>
>>>>  E ai pessoal como vai?
>>>>
>>>>> Tenho um banco Fb 2.1, o ontem usando o IbExpert, fiz um diagnóstico do
>>>>> banco.
>>>>>
>>>>> Ele me apresentou alguns índices que segundo a análise estava sendo mal
>>>>> utilizado.
>>>>>
>>>>> Exemplo:
>>>>>
>>>>> Tenho a tabela "Colaborador" (filha) o qual faz referencia a tabela
>>>>> "Pessoa"
>>>>> (Pessoa x Colaborador)
>>>>>
>>>>> E tenho uma tabela "AcertoEstoque" que possui um campo "CodColaborador"
>>>>> que
>>>>> é uma FK relacionada com a tabela "Colaborador".
>>>>>
>>>>> Segundo a análise, essa FK é ruim. O hint que aparece é: Existem muitos
>>>>> registros duplicados.
>>>>>
>>>>> *PERGUNTA*: O que significa? Encaro isso como um real problema do DB?
>>>>>
>>>>> Pois se tirar o FK, perco a integridade de relacionamento.
>>>>>
>>>>>
>>>>> --
>>>>> #FollowMe: @felipearon<http://twitter.com/felipearon>   (
>>>>> http://felipearon.com.br/)
>>>>> ______________________________________________
>>>>> 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
>>>>>
>>>>>  ______________________________________________
>>>>>
>>>> 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
>>>>
>>>>
>>> ______________________________________________
>>> 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
>>>
>>>
>>
>>
>
> ______________________________________________
> 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
>



-- 
#FollowMe: @felipearon <http://twitter.com/felipearon> (
http://felipearon.com.br/)



Mais detalhes sobre a lista de discussão lista