ersten hundert
SELECT * FROM <table_name> ORDER BY id ASC LIMIT 0, 100
nächsten hundert
SELECT * FROM <table_name> ORDER BY id ASC LIMIT 100, 100
Sie sind sehr aufmerksam, wenn es darum geht, die Bestellung aufzugeben
DIE GRENZWERTE ERKLÄRT: Das LIMIT -Anweisung ist KEIN WHERE Klausel. Es wird nicht nach id ausgewählt noch nach irgendwelchen Kriterien (dort where Klausel tut das) Stattdessen das limit -Klausel stellt einfach sicher, dass Sie einen Teil des block zurückgeben von Ergebnissen, die eine Teilmenge von "alles" sind. Daher ist es wichtig, einen order by zu erwähnen jedes Mal, so dass jeder nachfolgende Aufruf Ihnen den richtigen Teil des Datenblocks in der richtigen Reihenfolge liefert, und Sie können durch sie 'weiter', 'weiter', 'weiter' gehen
ZB:für die ungeordnete Tabelle this_table :
+-------+-------------+
| id | value |
+-------+-------------+
| 1 | bob |
| 12 | fish |
| 112 | pink |
| 2 | cat |
| 8 | dog |
| 56 | blue |
| 88 | grey |
| 87 | red |
+-------+-------------+
die Auswahlen kehren wie folgt zurück:
SELECT * FROM <this_table> ORDER BY id ASC LIMIT 0,5
+-------+-------------+
| id | value |
+-------+-------------+
| 1 | bob |
| 2 | cat |
| 8 | dog |
| 12 | fish |
| 56 | blue |
+-------+-------------+
und
SELECT * FROM <this_table> ORDER BY id ASC LIMIT 5,5
+-------+-------------+
| id | value |
+-------+-------------+
| 87 | red |
| 88 | grey |
| 112 | pink |
+-------+-------------+
Beachten Sie das Fehlen der Zeilen 9 und 10. Dies ist absichtlich und zeigt, dass MySQL wie beabsichtigt funktioniert
Übrigens sollten Sie auch einen Index für id hinzufügen dies wird die Geschwindigkeit dieser Auswahlen massiv erhöhen
ALTER TABLE <table_name> ADD INDEX `id` (`id`)