Pular para o conteúdo principal

Cláusula LIMIT do MySQL

A cláusula `LIMIT` no MySQL é usada para restringir o número de registros retornados por uma consulta. É comumente empregado para buscar um subconjunto de resultados, especialmente em cenários de paginação.

Uso

A cláusula `LIMIT` é normalmente usada no final de uma instrução `SELECT` para especificar o número máximo de linhas que a consulta deve retornar. Ele também pode ser combinado com um `OFFSET` para ignorar um número específico de linhas antes de começar a retornar as linhas.

sql
SELECT column1, column2, ...
FROM table_name
LIMIT [offset,] row_count;

Nessa sintaxe, `LIMIT row_count` especifica o número de linhas a serem retornadas, enquanto `LIMIT offset, row_count` ignora as linhas de `offset` antes de começar a retornar as linhas de `row_count`. Observe que o valor `OFFSET` é baseado em zero, o que significa que `LIMIT 0, 5` retorna as cinco primeiras linhas. Uma sintaxe alternativa, `LIMIT row_count OFFSET offset`, pode ser mais intuitiva para alguns usuários.

Exemplos

1. Limite básico

sql
SELECT * 
FROM products 
LIMIT 5;

Este exemplo recupera as primeiras 5 linhas da tabela `products`.

2. Limite com deslocamento

sql
SELECT name, price 
FROM products 
LIMIT 3, 5;

Essa consulta ignora as 3 primeiras linhas e, em seguida, recupera as 5 linhas seguintes da tabela `products`, útil para paginação.

3. Limite com pedidos

sql
SELECT id, title 
FROM articles 
ORDER BY publish_date DESC 
LIMIT 10;

Aqui, a consulta retorna os 10 artigos publicados mais recentemente, ordenando a tabela `articles` em ordem decrescente de `publish_date`.

Dicas e práticas recomendadas

  • Use com ORDER BY. Para garantir resultados previsíveis, use `LIMIT` em conjunto com `ORDER BY`.
  • Otimize a paginação. Para conjuntos de dados grandes, considere o uso de colunas indexadas na cláusula `ORDER BY` para melhorar o desempenho.
  • Evite grandes deslocamentos. Grandes offsets podem levar a um desempenho ruim; considere estratégias alternativas de paginação, como a paginação de conjunto de chaves, que usa colunas indexadas para recuperação eficiente de dados.
  • Tenha cuidado com a contagem de linhas grandes. A busca de um número excessivo de linhas pode levar ao aumento do uso da memória e a um desempenho mais lento.
  • Considere os dialetos SQL. Observe que o `LIMIT` não faz parte do padrão SQL e pode ter um comportamento diferente em outros bancos de dados SQL. Os usuários em ambientes mistos devem estar cientes dessas diferenças.