Ok. muito obrigada pela atenção.
Vou tentar resolver isso sem usar indice.
Qto a versao do banco utilizo a 8.2

Em 02/06/08, Thiago Risso <[EMAIL PROTECTED]> escreveu:
>
> > A tabela contém muitos registros, por isso a criação de indice.
> > Estou usando indice composto (para a linha grifada em resposta anterior).
> > Passar a estrutura da tabela, fica complicado.
> > A consulta eh a seguinte:
> > SELECT count(distinct(rdelrde)), count(tid), sum(tvlr)
> > FROM titulo, rdel, grrde, grp, csk
> > WHERE
> > (ttctr = rdelctr) and
> > (grpcsk   = cskid ) and
> > (rdelrde = grrderde) and
> > (grrdegrp = grpid) and
> > (cskid = 5) and
> > (tsac = '70064993000140') and
> > (tpgt is null) and
> > (tvct >= '2008-05-14 00:00:00') and
> > (tvct <= '2008-07-14 00:00:00')
> > LIMIT 1;
> > Mas a consulta eh pra retornar informações sobre qtas lojas,  qtos
> titulos
> > e o valor do titulo quando a condicao  for verdadeira.
>
>
> Como já havia escrito na outra mensagem ...
> Se você tiver MUITOS NULLS na tabela ou se o Indice não foi criado
> corretamente, ele não será usado mesmo.
> Normalmente , se 30% dos valores da hash forem NULLS, o planejador não
> usará o indice, pq é mais rápido fazer scan.
> Outra possibilidade é criar indice composto condicional (tsac AND
> ISNULL(tpgt)) e utilizar a funcao na comparação !
>
> Bem .. acho que é isso...
> --
> Att:
>
> Thiago Risso
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a