Pagination Optimization
LIMIT/OFFSET becomes slow on large tables because MySQL still scans all rows up to the offset. Use keyset pagination (cursor-based) for deep pages.
LIMIT/OFFSET becomes slow on large tables because MySQL still scans all rows up to the offset. Use keyset pagination (cursor-based) for deep pages.
-- Slow for large offsets
SELECT id, name FROM users ORDER BY id LIMIT 20 OFFSET 100000;
-- Keyset pagination (fast)
SELECT id, name FROM users
WHERE id > 100020 -- last seen id
ORDER BY id
LIMIT 20;
Keyset pagination is O(1) regardless of page depth; OFFSET is O(n).