Pular para o conteúdo principal
Documentos
Sintaxe básicaFunções JSONAcionadoresGerenciamento de tabelas e esquemasFunções de cadeia de caracteresFunções matemáticasFunções de dataBancos de dadosÍndices

PostgreSQL LIMIT

A cláusula `LIMIT` no PostgreSQL é utilizada para restringir o número de linhas retornadas por uma consulta. É particularmente útil para paginação de resultados ou recuperação de um subconjunto de dados.

Uso

A cláusula `LIMIT` é aplicada para controlar o número máximo de linhas retornadas por uma consulta SQL. Normalmente, é usado em conjunto com `ORDER BY` para recuperar as N primeiras linhas de um conjunto de resultados.

SELECT column1, column2, ...
FROM table_name
[ORDER BY column_name] 
LIMIT number_of_rows;

Nessa sintaxe, `LIMIT number_of_rows` especifica o número máximo de linhas a serem retornadas.

Exemplos

1. Limite básico

SELECT * 
FROM products
LIMIT 5;

Neste exemplo, você recupera as primeiras 5 linhas da tabela `products`.

2. Limite com ordem

SELECT name, price
FROM products
ORDER BY price DESC
LIMIT 3;

Essa consulta retorna os três principais produtos mais caros, ordenando os resultados em ordem decrescente de preço.

3. Limite com deslocamento

SELECT order_id, customer_name
FROM orders
ORDER BY order_date
LIMIT 10 OFFSET 10;

Essa consulta busca 10 linhas a partir da 11ª linha, útil para paginação quando combinada com `ORDER BY`.

Dicas e práticas recomendadas

  • Use com ORDER BY. Sempre combine `LIMIT` com `ORDER BY` para garantir resultados consistentes, especialmente quando a tabela não tiver chave primária ou identificador exclusivo.
  • Considere a paginação. Use `LIMIT` em conjunto com `OFFSET` para recuperação de dados paginados. Esteja ciente de que o uso de offsets grandes pode afetar o desempenho, pois o PostgreSQL precisa varrer as linhas para alcançar o offset especificado.
  • Otimize o desempenho. Esteja atento às implicações de desempenho ao usar `LIMIT` em grandes conjuntos de dados; considere o uso de índices. Para offsets grandes, explore técnicas de otimização de consultas.
  • Combine com restrições. Use `LIMIT` com `WHERE` para refinar ainda mais o conjunto de dados antes de limitar o resultado.
  • Explorar alternativas. Considere o uso da cláusula `FETCH FIRST` como uma alternativa a `LIMIT`, especialmente se você estiver mais familiarizado com os padrões SQL.
  • Entenda os casos extremos. Ao definir `LIMIT` como zero, você retornará um conjunto de resultados vazio. O uso de um número negativo para `LIMIT` não é válido e resultará em um erro.