[firebase-br] Not Is Null X >= 0
Reinaldo Cesar
diasmartins em gmail.com
Dom Ago 2 15:15:35 -03 2009
Fiz esse teste mas a > 0 ainda é melhor pelo plano de execução...
Usando o COALESE ele faz 42000 leitura indexadas (total de elementos da
tabela) trazendo os 3 registros.
Já no >= 0 ele faz 3 leitura indexadas e traz os mesmo 3 registros.
Reinaldo
Adriano Ferreira escreveu:
> Então, experimenta coalesce(campo,-1) ou coalesce(campo,999999), ou seja, algum número que para seu sistema seja inválido (pois vc cita de 0 a 999), então este serão os registros que estão com este campo nulo.
> _
> Adriano Ferreira
>
> ----- Original Message -----
>
> From: Reinaldo Cesar
> To: lista-JZX6CTs6PlE39yzSjRtAkw em public.gmane.org
> Sent: Sunday, August 02, 2009 1:59 PM
> Subject: Re: [firebase-br] Not Is Null X >= 0
>
>
> Na verdade, no momento da criação o valor é Null (é um inteiro).
> Existe um processo de vinculo no Sistema onde o usuário associa um
> código de operação nesse valor (0, 1, 2, ... 999).
>
> Em determinado momento eu preciso saber o que está sem valor e o que
> está com valor (ou seja ainda não foi digitado).
> Poderia mudar de inteiro para alfa e no momento da criação atribuir um
> Status (Tipo Não Atribuido, etc), porém como ja está feito dessa forma,
> a principio eu nao gostaria de estar mudando, devido a complexidade que
> levaria isso pra frente.
>
> Quando eu testo os IS NULL funciona que é uma beleza, o problema é no
> Not NULL, que tambem funciona, porém segundo o IBexpert as Leituras nao
> são indexadas. (De fato demora um pouquinho).
>
> Como eu sei que quando ele é digitado ele recebe um valor inteiro >= 0,
> achei que poderia testar desta forma.
>
> Se eu usar o Coalesce() eu estarei "transformando" na busca os Nulos em
> 0, porém eu quero separa-los.
>
> Atenciosamente.
>
> Reinaldo
>
> Reinaldo Cesar escreveu:
> > Olá amigos,
> >
> > Sabemos que o null é um estado do campo e não um valor determinado,
> > porém possuo uma consulta que checa o ultimo valor recebido.
> > Tenho um check nesse valor que não permite valor negativo, porém podem
> > haver valores nulos.
> >
> > 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.
> 0>
> > Alguém tem algo a me dizer? Se isso está incorreto?
> >
> > Atenciosamente
> >
> > Reinaldo
> ______________________________________________
> 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