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
