Como o MariaDB Otimiza Cláusulas LIMIT
Em alguns casos o MariaDB irá tratar a consulta de maneira diferente quando você estiver utilizando LIMIT row_count
e não estiver utilizando HAVING
:
- Se você estiver selecionando apenas alguns registros com
LIMIT
, o MariaDB usará índices em alguns casos quando ele normalmente preferiria fazer uma varredura completa na tabela. - Se você utilizar
LIMIT row_count
comORDER BY
, O MariaDB irá terminar a ordenação logo que ele encontrar os primeirosrow_count
registros em vez de ordenar a tabela inteira. - Ao combinar
LIMIT row_count
comDISTINCT
, o MariaDB irá parar logo que ele encontrarrow_count
registros únicos. - Em alguns casos um
GROUP BY
pode ser resolvido lendo a chave em ordem (ou fazer uma classificação na chave) e então calcular resumos até o valor da chave alterar. Neste caso,LIMIT row_count
não irá calcular nenhumGROUP BY
desnecessário. - Logo que o MariaDB enviar os primeiros
#
registros para o cliente, ele irá abortar a consulta. LIMIT 0
irá sempre retornar rapidamente um conjunto vazio. Isto é util para conferir a consulta e obter os tipos de campos do resultado.- Quando o servidor utiliza tabelas temporárias para resolver a consulta, o
LIMIT row_count
é usado para calcular a quantidade de espaço necessário.