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_countcomORDER BY, O MariaDB irá terminar a ordenação logo que ele encontrar os primeirosrow_countregistros em vez de ordenar a tabela inteira. - Ao combinar
LIMIT row_countcomDISTINCT, o MariaDB irá parar logo que ele encontrarrow_countregistros únicos. - Em alguns casos um
GROUP BYpode 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_countnão irá calcular nenhumGROUP BYdesnecessário. - Logo que o MariaDB enviar os primeiros
#registros para o cliente, ele irá abortar a consulta. LIMIT 0irá 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.