Ajuda com paginação
Fala pessoal beleza?
Tenho um problema para resolver, tenho um sistema em PHP com MySQL, mas preciso melhorar a paginação, tenho uma 2 lógicas de paginação em mente, uma delas é a que mais se encontra e videos, blogs, postagens mostrando na web,
onde damos um primeiro select CAMPO from TABELA, contamos o resultado e temos o total de registros para tratar a quantidade de páginas, limite, quantidade que vai aparecer por página etc, apos isso damos novamente o select CAMPOS from TABELA limite x, y de acordo com o que obtivemos na lógica da paginação com a primeira SQL. esta lógica até que funciona, mas, não consegui aplicar ela usando JOIN agrupando 2 ou mais tabelas, pois ai, eu teria que fazer esta contagem lá a primeira SQL, ou seja no fim, teria 2 SQL sendo executadas , uma mais rápida devido ao limit passado, mesmo assim ainda seriam 2 consultas.
Outras lógica seria dar um SELECT count(CAMPO) from TABELA seria uma SQL mais rápida, mas... se eu tiver um JOIN agrupando dados de uma tabela de categoria + produtos, eu teria que contar o resultado já agrupado das 2.
Já pensei em executar a consulta normal, retornar o array dos dados, e depois paginar este array com array_slice, e dividir ele de acordo com a quantidade de páginas e registros de cada.
Já fiz paginação com JS/AJAX mas mesmo assim, ainda preciso passar os dados totalizados, consigo uma boa visualização final na interface, mas por tras, sei que o processamento no MYSQL pesa
Lembrando que em cada caso citado, cada vez que alteramos entre as páginas, é novamente executado os calculos.
Alguem tem uma lógica bacana para paginação? de forma que nao fique pesado, lento em uma tabela muito grande?Discussão (0)
Carregando comentários...