Läste du rubriken på den artikeln?
Observera att följande artikel endast gäller versioner av PostgreSQL före 9.2. Indexsökningar är nu implementerade.
Använd 9.2 och du kommer generellt att upptäcka att du får mycket bättre resultat. Läs wikisidan för endast index-skanningar för detaljer.
Som sagt, på äldre versioner som använder LIMIT
och OFFSET
fungerar i allmänhet bra. Du kan uppskatta radantal (och därmed sidantal) med hjälp av tabellstatistiken om du inte har något emot lite variation. Se "Uppskattning av antal rader" i artikeln du redan har länkat till.
Paginering med LIMIT
och OFFSET
är, IMO, ett antimönster i alla fall. Ofta kan du omformulera din sidnumreringskod så att den använder sort_column > 'last_seen_value' LIMIT 100
, d.v.s. den undviker offset. Detta kan ibland resultera i mycket stora prestandavinster.