El principio de límite en mysql

El principio de límite de compensación y conteo en mysql es sacar primero los registros de compensación + conteo, luego descartar los registros de compensación anteriores y luego leer los últimos registros de conteo, principalmente debido al problema de compensación. Así que cuanto mayor sea el desplazamiento, peor será el rendimiento.

Mejoramiento:

select film_id,description from sakila.film order by title limit 10000,5;

1. Proporcione un rango aproximado, agregue condiciones para determinar el rango y evite la compensación

select film_id,description from sakila.film where film_id > 10000 order by title limit 5;

*Esto también se hará al paginar una tabla grande. No proporciona el número total de páginas ni la función de salto de página, solo el botón de página siguiente, lo que mejora la eficiencia de la paginación.

2. Cuando la tabla sea muy grande, intente usar el escaneo de cobertura de índice para reducir el alcance de regresar a la tabla, por ejemplo:

select film.film_id,film.description from sakila.film
inner join(
	select film_id from sakila.film  order by title limit 50,5
) as lim using(film_id);

El problema de mezclar order by y limit

Si hay muchas filas en el conjunto de resultados devuelto en la declaración order by, el resultado devuelto de la columna no ordenada es incierto, es decir, aleatorio, por lo que si se usa el límite, el orden del conjunto de resultados devuelto cada vez es no arreglado Si es
necesario En orden, debe ordenar todos los campos que deben ponerse en cola para clasificar

Supongo que te gusta

Origin blog.csdn.net/m0_53121042/article/details/117458675
Recomendado
Clasificación