Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum verlangsamt MYSQL einen höheren LIMIT-Offset die Abfrage?

Ich hatte selbst genau das gleiche Problem. Angesichts der Tatsache, dass Sie eine große Menge dieser Daten sammeln möchten und nicht einen bestimmten Satz von 30, werden Sie wahrscheinlich eine Schleife ausführen und den Offset um 30 erhöhen.

Was Sie stattdessen tun können, ist:

  1. Halten Sie die letzte ID eines Datensatzes (30) (z. B. lastId =530)
  2. Fügen Sie die Bedingung WHERE id > lastId limit 0,30 hinzu

So können Sie immer einen NULL-Offset haben. Sie werden von der Leistungssteigerung begeistert sein.