Olá,

Em 18 de agosto de 2010 09:20, Antonio Prado
<[email protected]>escreveu:

> Em Qua, 2010-08-18 às 09:02 -0300, JotaComm escreveu:
> > Olá,
> >
> > 2010/8/18 Antonio Prado <[email protected]>
> >         Necessito obter determinados registros, sem que estes se
> >         repitam:
> >
> >
> >         SELECT produto_id FROM vendas GROUP BY produto_id ORDER BY
> >         produto_id;
> >
> >         ou
> >
> >         SELECT DISTINCT ON (produto_id) produto_id FROM vendas ORDER
> >         BY
> >         produto_id;
> >
> >
> >
> >         Qual seria o mais indicado: GROUP BY ou DISTINCT ON ?
> >
> > A diferença básica deles é que o DISTINCT vai trazer os registros já
> > ordenados enquanto que o GROUP BY não.
> >
> > Você tem uma grande quantidade de registros?
>
> Não são muitos os registros, pelo que o desempenho é praticamente igual.
>
> Por isto fiquei em dúvida sobre qual seria o mais técnico/indicado.
>

Quando eu não preciso ordenar eu normalmente uso o GROUP BY, agora quando
preciso da informação ordenada acabo usando o DISTINCT. No entanto, sempre é
bom ver o plano de execução (comando EXPLAIN), assim o otimizador do banco
vai lhe dizer qual é a melhor opção.

>
> Antonio
>
>
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


[]s
-- 
JotaComm
http://jotacomm.wordpress.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a