TGViewer
Rails, Ruby, AI, Full stack | by the-teacher Rails, Ruby, AI, Full stack | by the-teacher @pro_ruby_on_rails_ru · 315 subscribers
Post #110 262
Проблема N+1

N+1 Problem — это ситуация, когда приложение выполняет 1 основной запрос, а затем ещё N дополнительных запросов для связанных данных.

Допустим, вы для поста выбираете комментарии. У каждого комментария есть автор (user) имя которого хочется показать. Вам надо для каждого комментария сделать к базе данных отдельный запрос, чтобы получить нужную информацию.

Чем больше комментариев — тем больше нагрузка на базу.

Почему возникает N+1

1️⃣Post.find — 1 запрос
2️⃣ для каждого комментария → comment.user → ещё N запросов

Итого: 1 + N или N+1 запросов.

Обычно проблема решается предзагрузкой данных. Реже — кешированием или предварительной подготовкой данных.

Часто отследить N+1 помогает простой гем bullet

gem "bullet"


#словарь

Группа: @pro_ruby_on_rails_ru
Вопросы: @ilia_zykin

❤️ лайк 🔂 репост
  • ❤ 8
More from @pro_ruby_on_rails_ru
  1. Sep 25, 2026Как работает JEV и почему о нем так много говорят Текущие AI модели это чаще всего текстов…
  2. Sep 25, 2026JEV для Ruby/Rails приложений В ActiveHarness я добавил поддержку Vercel и новый тип модел…
  3. Sep 24, 2026Мальчик: — HR: Для проверки ваших навыков мы дадим вам простое тестовое задание. — Dev: Я…
  4. Sep 24, 20262014 — Илья Николаевич: "Ну неужели в Ruby on Rails нельзя сделать обвязку над поиском и н…
  5. Sep 9, 2026Подключение платежки Недавно кто-то из читателей написал что-то в духе — "подключить плате…
  6. Sep 9, 2026Микро SaaS. Ожидание / Реальность AI открыл мне двери в мой 2014 год, когда я был молодым…
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 →