[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