La paginación límite de MySQL, más lento es el más atrasado Por qué, cómo resolver

¿Qué es un problema de límite de paginación

20 limitar dichas declaraciones. Justo antes de la línea de exploración 30, seleccionar * de 0,10 límite de la mesa de escaneo de satisfacer la condición de la línea 10, línea de retorno 10, pero el límite de tiempo de los datos de lectura 866613,20 muy lento, lo que significa límite de 866613,20 satisface la condición de barrido 866633 línea, frente a 866,613 filas tirar, la línea de retorno final 20, se puede imaginar en esta ocasión será muy lento, como se muestra, para llegar a 37,44 segundos de duración.

 

 

Dos cómo resolver

Que abarca el uso de la tabla de índices para acelerar la consulta de búsqueda

Todos sabemos que el uso de la consulta índice si la declaración contiene sólo la columna de índice (que abarca los índices), entonces esta situación en breve consultas.

Debido a que el uso del índice de Búsqueda de algoritmos de optimización y datos de índice en la consulta anterior, no tiene que ir a tratar los datos pertinentes, esto ahorra mucho tiempo.

Además MySQL también está relacionada con la memoria caché de índice, en un momento de alta concurrencia mejor uso de los efectos almacenamiento en caché.

En nuestro ejemplo, sabemos que el campo ID es la clave principal, contiene de forma natural el índice de clave principal defecto.

La investigación entre nosotros (utilizar un índice que cubre sólo contiene la columna id), como sigue:

 

tiempo de consulta es de 0,2 segundos, la investigación con respecto a todas las columnas de 37.44 segundos, el levantamiento de la velocidad 100 veces.

Así que si tenemos que consultar todas las columnas, hay dos maneras,

  • Método 1: subconsultas, id> = la forma:

 

tiempo de consulta es de 0,2 segundos, es simplemente un salto cualitativo ah.

  • Método 2: Uso de unirse

El efecto es casi el tiempo de consulta es muy corto.

 

Tres hijos y consultas asociadas con la comparación del rendimiento de consulta

Lo anterior es una de las dos sub-consultas, se asocia con una consulta, el rendimiento de las consultas de estos dos esquemas de cuál es mejor?

  • Subconsulta: los resultados de consulta interiores como la condición de comparación en la consulta externa, utilizando la IN () funciones, y similares existe operadores, por ejemplo:

seleccione goods_id, goods_name de mercancías, cuando goods_id = (SELECT MAX (goods_id) de los bienes);
la implementación de sub-consultas, necesidad de MySQL para crear una tabla temporal, la consulta se ha completado y luego eliminar estas tablas temporales, por lo que la velocidad de las sub-consultas se verá afectada en algún grado , donde más de la creación de procesos y la destrucción de una tabla temporal.

  • Consulta de combinación ( JOIN) consulta de unión no tiene que construir una tabla temporal, por lo que la velocidad es más rápida que una subconsulta. También nota: primer filtro para filtrar, filtrar bien y luego enlace

Supongo que te gusta

Origin www.cnblogs.com/wanghongsen/p/12616558.html
Recomendado
Clasificación