Mysql
 sql >> Database >  >> RDS >> Mysql

Perché l'offset LIMIT superiore di MySQL rallenta la query?

Io stesso ho avuto lo stesso identico problema. Dato che vuoi raccogliere una grande quantità di questi dati e non un set specifico di 30, probabilmente eseguirai un ciclo e aumenterai l'offset di 30.

Quindi quello che puoi fare invece è:

  1. Mantieni l'ultimo id di un set di dati(30) (es. lastId =530)
  2. Aggiungi la condizione WHERE id > lastId limit 0,30

Quindi puoi sempre avere un offset ZERO. Rimarrai stupito dal miglioramento delle prestazioni.