![]() |
Paginado en mysql? Estoy haciendo un buscador, y los resultados se muestran por páginas. Que seria mas optimo? Para poder hacer el paginado primero hay que hacer una consulta que me devuelva el número de registros para así poder calcular el número de páginas. Después que seria más optimo. Hacer otra select con limit, para solo recuperar los registros que comprende la pagina actual. O aprovechar la select que se ha hecho para contar los registros, y ir recorriéndola hasta llegar a los registros de la página actual. Espero haberme explicado. No se si para hacer el tema de paginas de una búsqueda que devuelve muchos resultados hay alguna otra opción. Gracias. Giro. |
Re: Paginado en mysql? Creo que lo más óptimo es que realices dos consultas. Una primera para saber cuántos elementos has encontrado, pero contando los registros de la clave primaria tan sólo (por lo que la tabla devuelta será mucho más pequeña). Por ejemplo: "encontrar los clientes que se llamen 'giro'" $sql = "select count(id) as num_clientes from clientes where nombre = 'gir'" $res = mysql_query($sql); $dato = mysql_fetch_row($res); $dato['num_clientes'] <----- tendrá el número de clientes encontrados Después de esto ya podemos paginar $sql = "select count(id) as num_clientes from clientes where nombre = 'gir' limit 0, 250;" Espero haberte ayudado |
Re: Paginado en mysql? Bien, era solo saber que podria ser mas óptimo. La base tiene 3 millones de registros donde hacer una busqueda compleja. Sino hare unas pruebas de carga con los dos métodos. Gracias por la respuesta. Giro. |
| La zona horaria es GMT -6. Ahora son las 22:24. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.