Как реализовать pagination в API?

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

Offset-based: параметры page и per_page (или limit/offset). SQL: LIMIT $1 OFFSET $2. Offset = (page - 1) * perPage. В ответе возвращай total_count, page, per_page, total_pages. Проблема — при больших offset БД всё равно сканирует пропущенные строки, тормозит. Для маленьких датасетов (до 100к) — норм. Добавляй дефолты: per_page=20, max=100. Всегда валидируй — отрицательный offset или page=0 не должны ломать запрос.

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

Что такое pg_stat_statements?