5 métodos de consulta de paginación MySQL

Método 1:

seleccione * del orden de la tabla por id límite m, n;

Muy simple, el significado de esta declaración es consultar m+n registros, eliminar los primeros m registros y devolver los últimos n registros. Sin duda, la consulta puede lograr la paginación, pero cuanto más grande es m, menor es el rendimiento de la consulta, porque MySQL necesita escanear todos los registros m+n.

Método 2:

seleccionar * de la tabla donde id > #max_id# ordenar por límite de id n;

Esta consulta también devolverá los últimos n registros, pero no es necesario escanear los primeros m registros como el método 1, pero es más común obtener la identificación máxima (o la identificación mínima) de la consulta anterior (página anterior) en cada consulta El camino.

Por supuesto, el problema con esta consulta es que es posible que no podamos obtener esta identificación, por ejemplo, si actualmente estamos en la página 3 y necesitamos consultar los datos en la página 5, no funcionará.

Método 3:

Para evitar consultas entre páginas que no se pueden realizar con el método 2, es necesario combinar el método 1.

Necesidades de rendimiento, m debe ser lo más pequeño posible. Por ejemplo, si actualmente está en la página 3, debe consultar la página 5, con 10 datos por página, y la identificación máxima de la página 3 es #max_id#, entonces:

seleccione * de la tabla donde id > #max_id# order by id limit 10, 10;

Este método resuelve parcialmente el problema del método 2, pero si actualmente se encuentra en la página 2 y desea verificar la página 1000, el rendimiento sigue siendo bajo.

Método 4:

seleccione * de la tabla como combinación interna (seleccione id de la tabla ordene por id límite m, n) como b en a.id = b.id ordene por a.id;

Esta consulta es la misma que el método 1 y el valor de m puede ser muy grande, pero debido a que la subconsulta interna solo escanea el campo id en lugar de toda la tabla, el rendimiento es más fuerte que el método 1 y puede resolver el problema cruzado. Problema de consulta de página.

Método 5:

seleccionar * de la tabla donde id > (seleccionar id del orden de la tabla por id límite m, 1) límite n;

Esta consulta también escanea la identificación del campo a través de la subconsulta y el efecto es el mismo que el del método 4. Sin embargo, el rendimiento del método 5 es ligeramente mejor que el del método 4, ya que no requiere asociación de tablas, sino una simple comparación. Es un uso recomendado cuando no se conoce el id máximo de la página anterior.

Supongo que te gusta

Origin blog.csdn.net/std7879/article/details/125308628
Recomendado
Clasificación