Publicidad

Paginación de registros desde MySql


Por Alex el 09/05/2022 , Comentar el artículo

Comparte este artículo:      




Desde una consulta MySql podemos paginar muy fácilmente los registros de una tabla, con esto ganamos velocidad porque si nuestra tabla tiene 1 Millón de registros solo nos traemos al web lo que necesitamos y no el millon


Por ejemplo la paginación del lado del clientes, en el front-end, requiere que nos traigamos en una consulta todos los registros y paginamos en un datatable https://datatables.net/examples/index, por ejemplo, es muy comodo pero depende de los registros que tengamos puede tardar "siglos" en cargar.

¿Como páginamos desde MySql?


Muy sencillo, utilizando las funciones de MySql Limit y Offset
  • Limit es el límite de registros que la consulta extraerá, normalmente 10, 25 o 50
  • Offset es el número de registros que se saltan hasta que se empieza a devolver filas
Esto lo veremos mejor con un ejemplo. Los ejemplos están con la base de datos sakila, aqui explico de donde descargarla Bases de datos de pruebas para MySql y la tabla es film, bien, la consulta nos queda así:

SELECT film_id, title, release_year FROM film ORDER BY film_id desc LIMIT 10 OFFSET 0

¿Que hace esta query? extrae los 10 primeros registros de la tabla film ordenados por id

MySql paginar registros de 10 en 10

Ahora la siguiente secuencia, el siguiente listado de registros seria cambiando el Offset y aumentándolo en 10

SELECT film_id, title, release_year FROM film ORDER BY film_id desc LIMIT 10 OFFSET 10

Con lo que trae los 10 siguientes

MySql paginar registros de 10 en 10

Y la siguiente página tendría un offset de 20. Vale, visto esto, explicamos como funciona el offset, como he comentado antes el offset empieza a contar a partir del numero que se le pasa y en esta imagen lo veréis claro.

MySql funcionamiento del offset

Y así podemos ir paginando sencilla y rápidamente desde cualquier lenguaje de programación y extrayendo solo los registros necesarios.


Y esto es todo amigos, feliz programming
Saludos
Alex.



Si te ha gustado el artículo compartelo en:      



También puede interesarte:

Crear un servidor MySql en Docker con volumen externo

Crear un servidor MySql en Docker con volumen externo

Por Alex, el 16/05/2022

Migrar una base de datos de MySql a postgreSQL

Migrar una base de datos de MySql a postgreSQL

Por Alex, el 23/04/2022

Extraer valores de un campo JSON en MySql

Extraer valores de un campo JSON en MySql

Por Alex, el 30/03/2022

Comparar estructura de dos bases de datos

Comparar estructura de dos bases de datos

Por Alex, el 28/03/2022

Espacio ocupado en disco por las bases de datos MySql

Espacio ocupado en disco por las bases de datos MySql

Por Alex, el 17/02/2022

Truncate y reset identity en mysql

Truncate y reset identity en mysql

Por Alex, el 05/01/2022


Añadir un comentarios:

Nombre:
Email: (no se publica el email)




SIGUENOS EN

ARCHIVO

Publicidad

.