Розбір рішень · Middle · Запитання 9 з 14

Журнал активності має 50 млн рядків, і OFFSET сповільнюється на глибоких сторінках. В інтерфейсі є лише кнопки «Старіші» й «Новіші». Як пагінувати?

Показати відповідь

Правильна відповідь: Keyset-пагінація за (created_at, id)

Пояснення

Keyset-пагінація переходить за індексом, тож глибина не впливає на швидкість, а більше, ніж кнопки вперед і назад, їй не потрібно. Кешування підходить для списку, що рідко змінюється, а журнал постійно росте, тож кешовані сторінки зсуваються. Обмеження глибини підходить для результатів пошуку, куди глибоко не заходять, а тут сховало б старі записи, які можуть знадобитися.

Де почитати

Помилка в запитанні

Розбір рішень · Middle · запитання 9

Перевірте себе

Пройдіть тест Розбір рішень · Middle: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест