FTS クエリをページ分割する最良の方法は何ですか? LIMIT
とOFFSET
思い浮かびます。ただし、制限とオフセットを使用すると、同じクエリを何度も実行することになるのではないかと心配しています (つまり、ページ 1 で 1 回、ページ 2 で 1 回など)。
PostgreSQL は、クエリ結果を透過的にキャッシュするほどスマートになりますか? したがって、その後、キャッシュからのページネーションクエリを満たしますか? そうでない場合、効率的にページネーションするにはどうすればよいですか?
編集
データベースは、単一ユーザーのデスクトップ分析用です。しかし、これがライブ OLTP アプリケーションである場合、最善の方法は何かを知りたいと思っています。ドキュメント ID の順序付けられたセットを作成し、別のテーブルの ID に対してクエリ パラメータをキャッシュすることで、過去に SQL Server で問題に対処しました。数時間ごとにキャッシュをクリアします (新しいドキュメントが結果セットに入るようにするため)。
おそらく、このアプローチはpostgresで実行可能です。それでも、データベースに存在するメカニズムと、それらを最大限に活用する方法を知りたい. もし私が DB 開発者だったら、クエリ応答キャッシュが FTS システムで動作するようにします。