[firebase-br] Mal uso de índice

Carlos H. Cantu listas em warmboot.com.br
Ter Out 26 13:51:44 -03 2010


Acredito que alguma outra transação ativa ainda "enxergava" o registro
apagado. A estatística só vai mudar quando o registro apagado não
estiver "visível" para nenhuma transação aberta, e vc pedir pra
recalcular (ou ativar/desativa o índice).

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

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

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

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

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

FA> Seria isso um bug ?

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


FA> Em 26 de outubro de 2010 13:12, Alexandre Sousa
FA> <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
>>







Mais detalhes sobre a lista de discussão lista