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.

Retornar