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 :) -- -------------------------------------------------- Marcelo Silva msn: [email protected] cel.: (11) 9693-4251 Dev.: Delphi, PHP, ASP _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
