On Mon, Apr 6, 2015 at 4:46 PM, Ariel Alves <[email protected]> wrote:
> -> Index Scan using
> vehiclebusserviceplanned_tripprogramid_idx on vehiclebusserviceplanned vbp1
> (cost=0.00..117.25 rows=9 width=16) (actual time=0.387..0.476 rows=0
> loops=736406)
> Index Cond: (trip_program_id = vbp2.trip_program_id)
> Filter: (('2015-04-06'::date >=
> (begintimestamp)::date) AND ('2015-04-06'::date <=
> COALESCE((endtimestamp)::date, '2015-04-06'::date)))
>
Não analisei a consulta ainda, mas só por esse Index Scan, eu vejo que um
índice em (trip_program_id, begintimestamp, endtimestamp) seria útil, você
chegou a tentar esse índice? Foi usado na consulta? Qual o plano?
Considere também usar o tipo tstzrange ou daterange para essa consulta,
assim você pode usar um índice GIN e evitar o "hack" com o COALESCE.
Atenciosamente,
--
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral