Caros Colegas,
Estou com o seguinte problema, ao executar uma determinada query em 2 db com
estruturas iguais mais com dados diferentes eu obtenho resultados totalmente
diferentes com relação ao tempo de execução. Em um vai igual um tiro, em
outro demora muito, o volume de dados é mais ou menos o mesmo. Rodei um
explain pra ver o motivo, e vi que em um database usa o indice na hora de
fazer o relaciomanto entre tabelas, no outro naum. Verifiquei nos 2 db´s e
vi que o indice existe nos 2, mas em apenas um db é um usado. O que fazer ?
Query:
Select a.DocNumero as DocNumero,a.DocSerie as DocSerie,a.DataDespac as
DataDespac,
a.CodPagador as CodPagador,a.Descricao as Descricao ,
b.Descricao as NomePaga
>From Frete01 a inner Join Frete02 b On (a.CodPagador = b.CodCliente)
Where a.Datadespac >= '20071101' And a.Datadespac <= '20071130'
Explain: Bd que funciona
"Nested Loop (cost=0.00..10033.63 rows=1 width=70)"
" -> Seq Scan on frete01 a (cost=0.00..10029.06 rows=1 width=42)"
" Filter: ((datadespac >= '2007-11-01'::date) AND (datadespac <=
'2007-11-30'::date))"
" -> Index Scan using frete02_f021 on frete02 b (cost=0.00..4.56 rows=1
width=39)"
" Index Cond: ("outer".codpagador = b.codcliente)"
Explain: Bd que da pau
"Merge Join (cost=44317.04..49633.90 rows=354263 width=120)"
" Merge Cond: ("outer".codpagador = "inner".codcliente)"
" -> Sort (cost=21157.60..21159.06 rows=582 width=77)"
" Sort Key: a.codpagador"
" -> Seq Scan on frete01 a (cost=0.00..21130.88 rows=582 width=77)"
" Filter: ((datadespac >= '2007-11-01'::date) AND (datadespac
<= '2007-11-30'::date))"
" -> Sort (cost=23159.44..23463.79 rows=121740 width=54)"
" Sort Key: b.codcliente"
" -> Seq Scan on frete02 b (cost=0.00..8131.40 rows=121740
width=54)"
Os 2 databases estaum no mesmo servidor, logo as configurações do servidor é
o mesmo para os 2 bd´s.
Desde já agradeço a atenção recebida.
T+
Marco Aurélio V. da Silva
Prodata Inf. e Cad. Ltda.
MSN: [EMAIL PROTECTED]
Fone: (33) 3322-3082
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral