Проверяет знание оптимизаций SQL-запросов.
OFFSET медленный, потому что Postgres всё равно сканирует строки до смещения. Решение — keyset pagination (по ключу): использовать WHERE id > last_id ORDER BY id LIMIT N.
OFFSET пагинация:
```
SELECT * FROM orders ORDER BY id LIMIT 50 OFFSET 50000;
```
Проблемы:
Postgres пропускает все строки до offset, т.е. считывает десятки тысяч строк впустую.
При больших данных запрос становится O(N).
Скроллинг назад и вперёд нестабилен.
Решение — keyset pagination:
SELECT * FROM orders
WHERE id > $last_id
ORDER BY id
LIMIT 50;Преимущества:
сложность O(1)
использует индекс
стабильно при больших таблицах
Используется почти во всех high-load компаний.