Em Qua, 2010-08-18 às 10:23 -0300, Marcelo Silva escreveu: > Em quarta-feira 18 agosto 2010, às 09:26:48, JotaComm escreveu: > > Não são muitos os registros, pelo que o desempenho é praticamente igual. > > Bem as vezes podemos até usar Group By no lugar de Distinct, mas as > diferenças > são: > > Distinct foi criado para ser usado quando não se precisa fazer soma (SUM) ou > valores máximos ou mínimos ou media e assim por diante, partindo deste > princípio no seu caso o correto seria o Distinct. > > Exemplo de Distinct > > SELECT DISTINCT * FROM TABELA > > Ele irá verificar cada (ou grupo de) campo na tabela se coincide em algum > outro registro no result. > > Exemplo Group By > > SELECT COUNT(*), OPERADOR FROM TABELA > GROUP BY OPERADOR > > Neste caso eu quero agrupar os totais de cada operador, então tenho > obrigatoriamente que usar o Group By. > > Por isso o Distinct é mais lento que o Group By em alguns casos, porque ele > faz uma verificação mais ampla. > > Em resumo, Distinct e Group By são para uso diferentes, dessa forma você deve > analisar qual comando seria mais adequado a sua necessidade. > > Claro que existe aqueles casos que é melhor bater o prego com a sola do > sapato > por ser mais rápido, pois até você ir na gaveta e pegar o martelo, o sapato > já > está no seu pé. No entanto, muitas sapatadas poderão estragar seu sapato, > coisa que não iria acontecer com o martelo. Dessa forma veja os prós e > contras, se amanhã não terá que reescrever seus códigos porque não usou a > função certa no lugar certo :)
No meu caso, agora sem dúvida, DISTINCT ON. Obrigado a todos pela atenção. Antonio. _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
