LIMIT और OFFSET से पेजिनेशन/बैच प्रोसेसिंग
LIMIT offset, count या LIMIT count OFFSET offset का उपयोग करके परिणाम सेट को बैच में विभाजित करें।
तालिका और डेटा
mysql> CREATE TABLE DemoTable1514 (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> FirstName VARCHAR(20)
-> );
mysql> INSERT INTO DemoTable1514(FirstName) VALUES
-> ('Chris'), ('Bob'), ('Sam'), ('Mike'), ('Carol'),
-> ('David'), ('Robert'), ('Adam'), ('John'), ('Jace');
क्वेरी: 5वीं से 8वीं पंक्ति (बैच आकार 4, ऑफसेट 4)
mysql> SELECT * FROM DemoTable1514 LIMIT 4 OFFSET 4;
परिणाम
+----+-----------+
| Id | FirstName |
+----+-----------+
| 5 | Carol |
| 6 | David |
| 7 | Robert |
| 8 | Adam |
+----+-----------+
पेजिनेशन पैटर्न:
- पेज 1:
LIMIT 10 OFFSET 0 - पेज 2:
LIMIT 10 OFFSET 10 - पेज N:
LIMIT 10 OFFSET (N-1)*10
प्रदर्शन नोट: बड़े ऑफसेट पर OFFSET धीमा होता है। बेहतर: WHERE id > last_seen_id ORDER BY id LIMIT 10 (कीसेट पेजिनेशन)।