[firebase-br] Not Is Null X >= 0
Eduardo Jedliczka
jedyfb em gmail.com
Seg Ago 3 09:19:30 -03 2009
Reinaldo.
dependendo do caso, usar "Natural" não é tão ruim. se você precisa de
100% dos registros, não há motivos para o banco perder tempo lendo o
índice.
Pelo que eu entendi, você tem 42.800 registros, mas apenas 3 tem valores
preenchidos, os outros 99,99% são NULL ? neste caso o > 0 será muito
mais eficiente.
Ahh, se você usar o coalesce, provavelmente o banco não irá usar o
índice. ok ?
Aproveito também para explicar um conceito: quando um campo é NULL
significa que seu valor não é conhecido e pode ser inválido. Ou seja, um
campo NULL não é ZERO e não é VAZIO, por isto NULL é diferente de NULL.
Ou seja, NULL não é um valor, é um ESTADO.
Abraço
Eduardo
Em Dom, 2009-08-02 às 00:22 -0300, Reinaldo Cesar escreveu:
> Eu Olhei no Performance Analises do IbExpert e no PLAN.,No caso do IS
> null aparece x leituras indexadas e o plano IDX....,,Já no NOT IS NULL
> aparece x leituras nao indexadas e plano Natural
>
>
> Douglas Tosi escreveu:
> > 2009/8/1 Reinaldo Cesar <diasmartins-Re5JQEeQqe8AvxtiuMwx3w em public.gmane.org>:
> >> Possuo uma determinada condição que testa se esse campo não é nulo, porém ao
> >> assumir essa condição a pesquisa é feita sem indices (visto o tempode
> >> demora) já com o teste de valor >= 0 (assumindo que tenha algum valor mesmo
> >> que zero) a pesquisa é feita usando um plano indexado com um retorno muito
> >> mais rápido.
> >
> > Você não pode assumir que não usa índices só porque a pesquisa por is
> > null demora mais. Veja os planos de execução dos dois comandos pra
> > entender melhor a diferença de desempenho.
> >
> > hth,
>
>
> ______________________________________________
> 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