その記事の見出しを読みましたか?
次の記事は、9.2より前のバージョンのPostgreSQLにのみ適用されることに注意してください。インデックスのみのスキャンが実装されました。
9.2を使用すると、通常、はるかに優れた結果が得られます。詳細については、インデックスのみのスキャンwikiページをお読みください。
そうは言っても、LIMIT
を使用している古いバージョンでは およびOFFSET
通常は正常に動作します。多少の変動を気にしない場合は、テーブル統計を使用して行数(したがってページ数)を見積もることができます。すでにリンクしている記事の「行数の見積もり」を参照してください。
LIMIT
を使用したページ付け およびOFFSET
とにかく、IMO、アンチパターンです。多くの場合、ページネーションコードを言い換えて、sort_column > 'last_seen_value' LIMIT 100
を使用することができます。 つまり、オフセットを回避します。これにより、パフォーマンスが大幅に向上する場合があります。