Em alguns casos o MySQL 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 MySQL usará índices em alguns
casos quando ele normalmente preferiria fazer uma varredura
completa na tabela.
Se você utilizar LIMIT row_count
com
ORDER BY
, O MySQL irá terminar a
ordenação logo que ele encontrar os primeiros
row_count
registros em vez de ordenar a
tabela inteira.
Ao combinar LIMIT row_count
com
DISTINCT
, o MySQL irá parar logo que ele
encontrar row_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 nenhum GROUP
BY
desnecessário.
Logo que o MySQL 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.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.