Em Qua, 2010-08-18 às 09:01 -0300, Sebastian SWC escreveu:
> On Wed, Aug 18, 2010 at 8:54 AM, Antonio Prado
> <[email protected]> wrote:
> <corte>
> > Qual seria o mais indicado: GROUP BY ou DISTINCT ON ?
> >
>
> o que diz o explain?
Apresento abaixo o resultado com explain. O que devo observar neles?
Obs: A select no explain é diferente da que postei, mas com o mesmo
objetivo.
Utilizando distinct:
--------------------------------------
"Unique (cost=1273.83..1277.54 rows=742 width=33)"
" -> Sort (cost=1273.83..1275.68 rows=742 width=33)"
" Sort Key: compras_materia.materia_prima_id"
" -> Hash Join (cost=1069.98..1238.45 rows=742 width=33)"
" Hash Cond: (compras_materia.materia_prima_id =
materia_prima.materia_prima_id)"
" -> Hash Join (cost=1010.31..1163.94 rows=742 width=4)"
" Hash Cond: (compras_materia.compras_id =
compras.compras_id)"
" -> Seq Scan on compras_materia (cost=0.00..120.71
rows=5571 width=8)"
" -> Hash (cost=1007.81..1007.81 rows=200 width=4)"
" -> HashAggregate (cost=1005.81..1007.81
rows=200 width=4)"
" -> Sort (cost=1000.95..1001.76
rows=324 width=4)"
" Sort Key: compras.compras_id"
" -> Seq Scan on compras
(cost=0.00..987.44 rows=324 width=4)"
" Filter: ((cfop_id !~~
'9%'::text) AND (emissao >= '2010-06-01'::date) AND (emissao <=
'2010-06-30'::date))"
" -> Hash (cost=37.63..37.63 rows=1763 width=33)"
" -> Seq Scan on materia_prima (cost=0.00..37.63
rows=1763 width=33)"
Utilizando group:
---------------------------------------
"Sort (cost=1286.81..1288.67 rows=742 width=33)"
" Sort Key: (('M'::text || (compras_materia.materia_prima_id)::text))"
" -> HashAggregate (cost=1238.45..1251.44 rows=742 width=33)"
" -> Hash Join (cost=1069.98..1234.74 rows=742 width=33)"
" Hash Cond: (compras_materia.materia_prima_id =
materia_prima.materia_prima_id)"
" -> Hash Join (cost=1010.31..1163.94 rows=742 width=4)"
" Hash Cond: (compras_materia.compras_id =
compras.compras_id)"
" -> Seq Scan on compras_materia (cost=0.00..120.71
rows=5571 width=8)"
" -> Hash (cost=1007.81..1007.81 rows=200 width=4)"
" -> HashAggregate (cost=1005.81..1007.81
rows=200 width=4)"
" -> Sort (cost=1000.95..1001.76
rows=324 width=4)"
" Sort Key: compras.compras_id"
" -> Seq Scan on compras
(cost=0.00..987.44 rows=324 width=4)"
" Filter: ((cfop_id !~~
'9%'::text) AND (emissao >= '2010-06-01'::date) AND (emissao <=
'2010-06-30'::date))"
" -> Hash (cost=37.63..37.63 rows=1763 width=33)"
" -> Seq Scan on materia_prima (cost=0.00..37.63
rows=1763 width=33)"
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral