Tanto o MySql quanto o PostgreSql suportam um recurso muito útil para paginação de resultados, chamado de OFFSET, normalmente utilizado com LIMIT.
Vamos ver como usar o LIMIT com o OFFSET para paginar resultados de uma SQL.
A cláusula LIMIT é utilizada para limitar o número de resultados de seu SELECT. Então, se seu SELECT retornar 1000 linhas, mas você quer apenas as 10 primeiras, você deve executar uma instrução mais ou menos assim:
SELECT coluna FROM tabela LIMIT 10;
Suponhamos que você queira somente os resultados de 11 a 30. Com a instrução OFFSET fica fácil, basta proceder da seguinte forma:
SELECT coluna FROM tabela LIMIT 20 OFFSET 10;
O comando OFFSET indica o início da leitura, e o LIMIT o máximo de registros a serem lidos. Registros de 61 a 80, por exemplo, ficaria assim:
SELECT coluna FROM tabela LIMIT 20 OFFSET 60;
Com este recurso, fica fácil paginar resultados de um SELECT e mostrar ao usuário apenas a página, ao invés de retornar todos os registros da tabela. Uma tabela com 2000 registros, por exemplo, fica muito melhor mostrar ao usuário de 10 em 10, ou de 20 em 20, e isso ajuda também na carga sobre o banco de dados, melhorando sua performance.
Referência:



