メッセージアーカイブアプリケーションでは、メッセージサブジェクトのテーブルを効率的にページ付けしたいと考えています。これは私がちょうど日付でソートすれば十分です。私はページに表示された最初と最後の日付を覚えておき、それより大きいか小さいメッセージのセットを問い合わせることができます。しかし、このアプリケーションでは、いくつかのメッセージを固定することができます。メッセージが昇順または降順にソートされているかどうかにかかわらず、常に他のメッセージの前に表示する必要があります。 boolがレコード上でtrueに設定されている場合、メッセージは固定されます。2つのキーでソートするときのSQLページング
これを効率よくページングするにはどうすればよいですか?テーブルが非常に大きく、自由にメッセージを追加したり削除したりすることができます。私たちはPostgresを使っています。
編集:私が望むものを得るために注文する方法を知っています。問題は、結果をページ分割するのに最適な方法です(OFFSETを使用しない)。
'order by boolean_column、date' –
「固定」とはどういう意味ですか?特定のメッセージが常に同じ位置に表示されることを意味しますか?私たちに例を挙げてもらえますか? –
メッセージが固定されている場合は、メッセージを並べ替えるときに最初に表示されることを意味します。 –