Sim, pois usar DISTINCT (às vezes de acordo com um comentário) fará com que resultados sejam ordenados Ordenar centenas de registros leva tempo. Tente GROUP BY em todas as suas colunas, às vezes isso pode levar o otimizador de consulta a escolher um algoritmo mais eficiente (pelo menos com o Oracle notei um ganho de desempenho significativo).
É ruim usar distintos?
Bem, o uso impróprio de "distinto" não apenas esconde o problema real (entradas duplicadas nas tabelas, f alta de condição na cláusula on) como discutido acima, mas também degrada o desempenho da consulta… Isso fará com que o custo de IO (leituras lógicas) da consulta aumente significativamente.
Distinção torna a consulta mais lenta?
Muito poucas consultas podem ter um desempenho mais rápido no modo SELECT DISTINCT, e muito poucos terão um desempenho mais lento (mas não significativamente mais lento) no modo SELECT DISTINCT, mas para o caso posterior é provável que o aplicativo pode precisar examinar os casos duplicados, o que transfere a carga de desempenho e complexidade para o aplicativo.
É melhor usar distinct ou GROUP BY?
No MySQL, DISTINCT parece um pouco mais rápido que GROUP BY se o campo não estiver indexado. DISTINCT apenas elimina linhas duplicadas, mas GROUP BY parece classificá-las também.
Por que não devemos usar distinct no SQL?
Se o select distinct estiver lá para 'consertar' um problema, então você provavelmente terá um desempenho ruim em troca. GROUP BY permite usar funções agregadas, como AVG, MAX, MIN, SUM e COUNT. DISTINCT só remove duplicatas.