Fazendo a paginação de consultas em MySQL com o comando Limit e Offset

Autor : Antonio Carlos Ferreira de Azevedo
Postado em : 11/03/2023


Comando de paginação para MySQL

Em MySQL, a paginação de registros pode ser feita utilizando as cláusulas LIMIT e OFFSET. A cláusula LIMIT é usada para limitar o número de registros retornados e a cláusula OFFSET é usada para pular os primeiros registros e começar a partir de um registro específico.

Aqui está um exemplo de como paginar registros em MySQL:

SELECT * FROM tabela LIMIT 10 OFFSET 20;

Neste exemplo, a consulta retorna 10 registros a partir do registro 21 (o 21º registro é o primeiro registro retornado). Para obter os próximos 10 registros, basta aumentar o valor do OFFSETem 10:

SELECT * FROM tabela LIMIT 10 OFFSET 30;

Neste exemplo, a consulta retorna os primeiros 10 registros da tabela. Isso é semelhante ao comando TOP do SQLServer. Para obter os próximos 10 registros, você pode usar o ID do último registro retornado para definir o valor de OFFSET:

SELECT * FROM tabela WHERE id > ? LIMIT 10;

Neste exemplo, o ponto de interrogação representa o ID do último registro retornado na consulta anterior. A consulta retorna os próximos 10 registros após o último registro retornado.

Você pode usar essa abordagem para paginar os registros de uma tabela em MySQL, imitando o comportamento do comando TOP do SQLServer.

É importante notar que, ao usar a cláusula OFFSET, a consulta pode se tornar lenta quando a tabela tem muitos registros, pois o MySQL precisa pular todos os registros anteriores ao OFFSET especificado antes de retornar os registros solicitados. Para evitar esse problema, é recomendável usar índices na tabela para melhorar o desempenho da consulta.



Links Relacionados



Comentários