[firebase-br] Indice

Adriano Luiz de Souza adriano em riodeserto.com.br
Ter Mar 10 16:15:09 -03 2009


Obrigado pelos esclarecimentos. Sim, tem campos que estao nulos... Essa 
é uma tabela que armazena lançamentos contabeis, e até o momento, 
movimento bancário ainda não tem nenhum lançamento contábil armazenado, 
logo... toda a coluna cd_movimento_bancario, está nulo. Então o firebird 
está agindo corretamente... Assim que esta tabela começar a ser populada 
acredito que o plan será escolhido corretamente.

Adriano

Douglas Tosi escreveu:
> 2009/3/10 Adriano Luiz de Souza <adriano em riodeserto.com.br>:
>   
>> Mas acho que eu sei qual é o problema... A tabela tem 400.000 registros mas
>> para este campo no qual estou pesquisando, não há nenhum registro... Pode
>> ser que isso esteja causando o uso desse plan. Vou testar isso  e depois
>> posto o resultado.
>>     
>
> Não entendi.
> O campo está com todos os valores null?
> Ou a pesquisa "c.cd_movimento_bancario = 400000" não vai encontrar
> nenhum registro.
>
> Se for o primeiro caso, o índice tem péssima seletividade e o plano do
> firebird está certo.
> Se for o segundo caso, provavelmente não vai fazer diferença: o
> otimizador atual do firebird não usa o valor pesquisado para
> determinar o plano. Pesquisar "400000" ou "17" não faz diferença para
> o otimizador.
>
> hth,
>   





Mais detalhes sobre a lista de discussão lista