Como o MariaDB Otimiza Cláusulas DISTINCT
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 MariaDB funciona com campos na parte ORDER BY
ou HAVING
que não são parte dos campos selecionados. Leia "GROUP BY
com Campos Escondidos".
Quando combinando LIMIT row_count
com DISTINCT
, o MariaDB irá parar logo que encontrar row_count
registros únicos.
Se você não utiliza colunas de todas tabelas usadas, o MariaDB 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
), MariaDB irá parar de ler de t2
(para aquele registro particular em t1
) quandoo primeiro registro em t2
for encontrado.