こんにちは、エンティティを含むテーブルがあります。ID はシーケンスから生成されます
テーブルに 2mio を超えるエントリがあり、すべての要素をページングしたいと考えています。しかし
LIMIT 100 OFFSET 2000000
私には遅すぎるので、2つの異なるステートメント(疑似コード)を試しました
int i = 0;
while(true) {
a: SELECT * FROM entity WHERE id>=i ORDER BY id LIMIT 100
b: SELECT * FROM (SELECT * FROM entity ORDER BY id)a WHERE id>=i LIMIT 100
i=<id of last fetched row>;
}
両方のクエリは高速で、正しい結果を示しているようです...しかし、常に機能するとは限らないという予感があります...何かアイデアはありますか? そして、注文はまったく必要ですか?