Node.js · Middle · Запитання 74 з 75
Чому для великих таблиць пагінація курсором часто краща за OFFSET?
- 1Курсори повертають усі рядки одразу
- 2PostgreSQL не підтримує
OFFSET - ✓Правильна відповідь:
OFFSETзмушує базу пропускати всі попередні рядки і зсуває результати при вставках; курсор (WHERE id > last_id) використовує індекс і стабільний
Пояснення
Сторінка 10 000 з OFFSET проглядає все, що до неї. Компроміс: курсором не можна одразу перейти на сторінку N.