sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué el desplazamiento de LIMITE superior de MYSQL ralentiza la consulta?

Yo mismo tuve exactamente el mismo problema. Dado el hecho de que desea recopilar una gran cantidad de estos datos y no un conjunto específico de 30, probablemente ejecutará un ciclo e incrementará la compensación en 30.

Entonces, lo que puedes hacer en su lugar es:

  1. Retener la última identificación de un conjunto de datos (30) (por ejemplo, lastId =530)
  2. Agregue la condición WHERE id > lastId limit 0,30

Por lo tanto, siempre puede tener un desplazamiento CERO. Te sorprenderá la mejora del rendimiento.