Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pourquoi le décalage LIMIT supérieur de MYSQL ralentit-il la requête ?

J'ai eu exactement le même problème moi-même. Étant donné que vous souhaitez collecter une grande quantité de ces données et non un ensemble spécifique de 30, vous exécuterez probablement une boucle et incrémenterez le décalage de 30.

Donc, ce que vous pouvez faire à la place, c'est :

  1. Conserver le dernier identifiant d'un ensemble de données (30) (par exemple, lastId =530)
  2. Ajouter la condition WHERE id > lastId limit 0,30

Ainsi, vous pouvez toujours avoir un décalage ZÉRO. Vous serez surpris par l'amélioration des performances.