Læste du overskriften på den artikel?
Bemærk, at følgende artikel kun gælder for versioner af PostgreSQL før 9.2. Indeks-scanninger er nu implementeret.
Brug 9.2, og du vil generelt opleve, at du får meget bedre resultater. Læs wiki-siden for kun indeksscanninger for detaljer.
Når det er sagt, på ældre versioner, der bruger LIMIT
og OFFSET
fungerer generelt fint. Du kan estimere rækketal (og dermed sidetal) ved hjælp af tabelstatistikken, hvis du ikke har noget imod lidt variation. Se "Estimering af rækkeantal" i den artikel, du allerede har linket til.
Paginering ved hjælp af LIMIT
og OFFSET
er, IMO, et anti-mønster alligevel. Meget af tiden kan du omformulere din pagineringskode, så den bruger sort_column > 'last_seen_value' LIMIT 100
, dvs. det undgår forskydningen. Dette kan nogle gange resultere i meget store præstationsgevinster.