LIMIT/OFFSET isn't the optimal way to do pagination either, because the database has to scan to offset before fetching the limit. I'm having a hard time trying to find the particular resource that dives into it, but here are the basics:
SELECT *
FROM t
OFFSET 1000 LIMIT 10; -- does not use index, scans table
vs SELECT *
FROM t
WHERE id between 1000 and 1010; -- uses index
Edit:
http://www.slideshare.net/Eweaver/efficient-pagination-using... see slides 12-16