Entao,
telemetria_geral=# SHOW cursor_tuple_fraction;
cursor_tuple_fraction
-----------------------
0.1
(1 registro)
Tempo: 54,662 ms
Esse detalhe nao sei o qual seria o melhor.
Quanto ao explain da query, nao vejo necessidade, pois , a mesma é
executada em um tempo aceitavel. O problema esta na hora do
FETCH c_periodo INTO dt_pacote,id_motorista,id_veiculo,placa;
Essa parte demora muito.
2012/4/16 Flavio Henrique Araque Gurgel <[email protected]>
> On 16-04-2012 19:24, jorge sanfelice wrote:
> > SELECT d.dadtdt_pacote, d.dadtmotooid,d.dadtveioid,v.veiplaca
> > FROM dados_telemetria d
> > LEFT JOIN veiculo v ON d.dadtveioid = v.veioid
> > AND (v.veifilioid = _filial OR _filial = 0)
> > WHERE d.dadtdt_pacote >= (_data_inicio -
> > interval '1 day')
> > AND d.dadtdt_pacote <= (_data_fim + interval '1
> > day')
> > AND (d.dadtveioid = _veiculo OR _veiculo = 0)
> > AND ((d.dadtmotooid = _motorista OR
> > d.dadtmotooid = 0) OR _motorista IS NULL)
> > AND d.dadtveioid IN
> > (SELECT DISTINCT delveioid FROM delta WHERE
> > deldatapacote >= (_data_inicio -
> > interval '1 day')
> > AND deldatapacote <= (_data_fim +
> > interval '1 day')
> > AND delmotooid = _motorista
> > )
> > ORDER BY d.dadtdt_pacote;
>
> Manda o resultado da consulta abaixo:
> EXPLAIN SELECT d.dadtdt_pacote, d.dadtmotooid,d.dadtveioid,v.veiplaca
> FROM dados_telemetria d
> LEFT JOIN veiculo v ON d.dadtveioid = v.veioid
> AND (v.veifilioid = _filial OR _filial = 0)
> WHERE d.dadtdt_pacote >= (_data_inicio -
> interval '1 day')
> AND d.dadtdt_pacote <= (_data_fim + interval '1
> day')
> AND (d.dadtveioid = _veiculo OR _veiculo = 0)
> AND ((d.dadtmotooid = _motorista OR
> d.dadtmotooid = 0) OR _motorista IS NULL)
> AND d.dadtveioid IN
> (SELECT DISTINCT delveioid FROM delta WHERE
> deldatapacote >= (_data_inicio -
> interval '1 day')
> AND deldatapacote <= (_data_fim +
> interval '1 day')
> AND delmotooid = _motorista
> )
> ORDER BY d.dadtdt_pacote;
>
> E desta:
> SHOW cursor_tuple_fraction;
>
> Por favor;
>
> []s
>
> Flavio Henrique A. Gurgel
> Consultor e Instrutor 4Linux
> Tel: +55-11-2125-4747
> www.4linux.com.br
>
> _______________________________________________
> 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