Necesito mostrar muchas páginas de noticias en un sitio.
¿Debo hacer la paginación en la consulta db utilizando el límite o hacerlo en mi script php después de obtener todos los resultados?Cuál es la mejor manera de paginar resultados en php
Respuesta
¡Límite de uso en SQL! ¡Cada vez!
De lo contrario, está desperdiciando bastante más datos de los que necesita, lo que hace que sus scripts sean innecesariamente lentos y provocará problemas de escalabilidad a medida que aumente la cantidad de datos en sus tablas.
¡Límite es tu amigo!
Límite de uso: no puede transferir grandes cantidades de datos desde la base de datos al motor de scripts si puede evitarlo.
Personalmente, utilizaría la consulta para hacerlo. Obviamente, eso puede cambiar si trabajas con AJAX y demás, pero solo hacer un límite básico en la consulta y generar resultados es simple y eficiente.
Si solo desea trabajar con un DBMS que lo admita, hágalo en el DBMS. Si desea admitir otros DBMS en el futuro, entonces puede agregar una capa entre los que pueda manejar dependiendo del DBMS actual.
Puede utilizar algunas bibliotecas existentes para ayudarle a:
pera :: Pager puede ayudar con la salida, y para limitar el tráfico a la base de datos sólo lo que necesita, puede utilizar un envoltorio proporcionado en los ejemplos que se ven con eso
Aquí hay una tutorial acabo buscado en Google que lo tiene todo ...
Además de utilizar LIMIT
, me gustaría sugerir el uso de una cláusula explícita WHERE
para ajustar el offset, y ordenar los resultados en esa columna. Por ejemplo:
--- First page (showing first 50 records)
SELECT * FROM people ORDER BY id LIMIT 50
--- Second page
SELECT * FROM people WHERE id > 50 ORDER BY id LIMIT 50
Esto limita aún más el número de filas devueltas a aquellas dentro del rango deseado. El uso del enfoque WHERE
(a diferencia de una cláusula LIMIT
con un desplazamiento por separado, por ejemplo, LIMIT 50,50
) le permite gestionar eficazmente la búsqueda a través de registros con otras claves naturales, p. alfabéticamente por nombre, o por orden de fecha.
- 1. ¿Cuál es la mejor manera de comparar cadenas hash? (PHP)
- 2. Cuál es la mejor manera de verificar el conjunto de resultados IQueryable es nulo
- 3. ¿Cuál es la mejor manera de generar automáticamente los resultados de JUnit en xml?
- 4. ¿Cuál es la mejor manera de obtener los últimos resultados de 24 horas en T-SQL?
- 5. Cómo paginar los resultados de Doctrine2
- 6. ¿Cuál es la mejor manera de producir resultados HTML en C++?
- 7. ¿Cuál es la mejor forma de generar resultados de Excel en PHP?
- 8. ¿Cuál es la mejor manera de dibujar en la consola?
- 9. ¿Cuál es la mejor manera de concatenar dos vectores?
- 10. ¿Cuál es la mejor manera de validar datos en mongo?
- 11. ¿Cuál es la mejor manera de mostrar HTML en Flex?
- 12. ¿Cuál es la mejor manera de implementar params en JavaScript?
- 13. ¿Cuál es la mejor manera de comparar programas en Windows?
- 14. ¿Cuál es la mejor manera de hacer bucles en JavaScript
- 15. ¿Cuál es la mejor manera de manejar excepciones en Perl?
- 16. ¿Cuál es la mejor manera de escribir comentarios en C?
- 17. ¿Cuál es la mejor manera de recortar() en javascript
- 18. Cuál es la mejor manera de actualizar entidades en nhibernate
- 19. ¿Cuál es la mejor manera de manejar FBO en OpenGL?
- 20. ¿Cuál es la mejor manera de hacer GUI en Clojure?
- 21. ¿Cuál es la mejor manera de depurar css en ie?
- 22. ¿Cuál es la mejor manera de migrar datos en django
- 23. ¿Cuál es la mejor manera de reemplazar remote.origin.url en Git?
- 24. ¿La mejor manera de verificar si los resultados de MySQL fueron en PHP?
- 25. ¿Cuál es la mejor manera de escribir un archivo grande en un disco en PHP?
- 26. ¿Cuál es la mejor manera de hacer respaldos automáticos?
- 27. models.py hacerse grande, ¿cuál es la mejor manera de romperlo?
- 28. ¿Cuál es un mejor rendimiento en PHP?
- 29. La mejor manera de hacer hooks PHP
- 30. ¿Cuál es la mejor manera de integrar un despachador de eventos en una biblioteca PHP?