Встречается на собеседованиях • сегодня

Как работает пагинация в SQL

Пагинация в SQL позволяет разбивать результаты запроса на части (страницы) для оптимизации производительности и удобства отображения. Основные способы:

  1. LIMIT и OFFSET (стандартный подход в большинстве СУБД):
sql
SELECT * FROM users ORDER BY id LIMIT 10 OFFSET 20;  -- страница 3 (пропускаем 20 записей, берем 10)
  1. Более эффективный метод с WHERE (для больших таблиц):
sql
-- Предполагая, что id - первичный ключ
SELECT * FROM users WHERE id > 1000 ORDER BY id LIMIT 10;  -- следующая страница после последнего известного ID
  1. В современных СУБД есть специализированные синтаксисы:
  • MySQL: LIMIT offset, count
  • PostgreSQL: FETCH FIRST n ROWS ONLY
  • SQL Server: OFFSET n ROWS FETCH NEXT m ROWS ONLY

Основные проблемы пагинации:

  • Производительность на больших OFFSET (СУБД все равно читает и отбрасывает пропускаемые строки)
  • Нестабильность при изменении данных между запросами

Рекомендуется использовать ключевой столбец для фильтрации вместо больших OFFSET, когда это возможно.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы