:: DEVELOPER ZONE
DISTINCT combinado com ORDER BY também irá em vários casos
criar uma tabela temporária.
Note que como DISTINCT pode usar GROUP BY, você deve estar ciente
de como o MySQL funciona com campos na parte ORDER BY ou HAVING que
não são parte dos campos selecionados. See Secção 6.3.7.3, “GROUP BY com Campos Escondidos”.
Quando combinando LIMIT row_count com DISTINCT, o MySQL irá parar logo que
encontrar row_count registros únicos.
Se você não utiliza colunas de todas tabelas usadas, o MySQL irá parar a varredura das tabelas não usadas logo que encontrar a primeira coincidência.
SELECT DISTINCT t1.a FROM t1,t2 where t1.a=t2.a;
Neste caso, assumindo que t1 é usando antes de t2 (confira com
EXPLAIN), MySQL irá parar de ler de t2 (para aquele registro
particular em t1) quandoo primeiro registro em t2 for encontrado.
© 1995-2005 MySQL AB. All rights reserved.
