SELECT para paginação no MySQL

Publicado por Allan Lima em 27/01/2005

[ Hits: 16.348 ]

Blog: http://allalima.wordpress.com

 


SELECT para paginação no MySQL



Este tipo consulta SQL pode ser muito útil para quem deseja fazer paginação num site ou mesmo numa aplicação desktop comum, o código é simples e faz uso de duas palavras-chave: LIMIT e OFFSET.

O código pode ser visto a seguir:

SELECT * FROM MinhaTabela LIMIT MeuLimite OFFSET MeuOffset

MeuLimite é o número máximo de linhas que serão selecionadas e MeuOffset é o número de linhas que serão ignoradas antes da primeira ser selecionada.

Assim, por exemplo, a consulta:

SELECT * FROM Produtos LIMIT 15 OFFSET 30

irá selecionar no máximo quinze linhas da tabela produtos a partir da linha de número trinta, mas se a tabela produtos possuir menos que trinta e uma linhas, o resultado será vazio.

O uso de uma outra consulta para descobrir o número total de linhas que a tabela possui (SELECT COUNT(*) FROM MinhaTabela) também pode ser interessante para o cálculo das demais páginas que podem ser acessadas.

Por fim, a principal vantagem de se usar este tipo de consulta ao invés de selecionar todos os campos da tabela e depois filtrar é a praticidade, já que selecionamos apenas o que precisamos, evitando que se escreva o código necessário para filtrar os campos realmente necessários. Além disso, apesar de fazermos uma consulta a mais, as queries do tipo "SELECT COUNT(*)" são muito rápidas e não irão afetar a performance do sistema.

Outras dicas deste autor

Utilizando várias páginas iniciais no Firefox

Filtrando pesquisa por extensão de arquivos no Google

Leitura recomendada

Simples atividade de SQL

Instalação do Firebird 2.1.3

Instalando Firebird2 com FreeAdhocUDF no Debian Linux

Lentidão ao carregar sistema com Fedora 7 + LDAP + Samba

Firebird: Como parar e iniciar no Slackware Linux

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts