TGViewer
BA & SA | 10000 Interview questions BA & SA | 10000 Interview questions @systemanalystinterview · 10.3K subscribers
Post #11901 376
☀Объяснение:

Почему OFFSET плох
OFFSET заставляет базу пропускать все предыдущие строки (10000 записей), даже если они не нужны. При глубине 1 млн строк производительность катастрофична.

Пагинация на основе курсора
Вместо 
OFFSET запрос использует условие на индексированное поле, по которому идёт сортировка, например:
SELECT * FROM news WHERE created_at < last_seen_date ORDER BY created_at DESC LIMIT 10.
Переменная 
last_seen_date — значение из последней записи предыдущей страницы. Это называется keyset pagination или seek method.

Преимущества
База сканирует только нужные строки + ограниченный диапазон.
Работает за O(логарифм) по индексу.
Не зависает на больших смещениях.

Требования
Индекс на поле сортировки (например, 
created_at).
Уникальный вторичный ключ для разрешения связей (добавить 
id в ORDER BY).

Реальный пример
Twitter и Reddit используют курсоры для бесконечной ленты.

Вывод
Аналитик должен потребовать использования курсора вместо 
OFFSET для любых бесконечных списков.
More from @systemanalystinterview
  1. Sep 29, 2026😱 Отправили свое резюме на 129 вакансий на хх, а в ответ тишина .. Думаете, что дело в ры…
  2. Sep 3, 2026А ИИ действительно экономит время? На деле ИИ может взять на себя рутину: анализировать да…
  3. Aug 26, 2026До 1 сентября остаётся меньше недели, и мы с вами официально вступаем в самую активную пор…
  4. Aug 21, 2026Если вы работаете в сфере IT, развиваетесь в технологиях или просто хотите быть в курсе са…
  5. Aug 20, 2026🔈 Как найти работу в 2026 году Вы все слышали о том, что происходит с рынком труда (если…
  6. Aug 20, 2026Post #12336
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →