Что такое pagination для batch processing?

Middle
186 просмотров
AFK Offer AI

Два подхода: OFFSET/LIMIT — простой, но медленный на больших offset (БД сканирует и пропускает строки). Лучше — keyset pagination: WHERE id > last_id ORDER BY id LIMIT 1000. Работает одинаково быстро на любой странице. Для batch processing keyset идеален — помнишь последний обработанный ID, следующий батч начинаешь с него. Ещё есть cursor-based через DECLARE CURSOR — PostgreSQL держит позицию на сервере.

Следующий вопрос

Что делать при table lock?