/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/ruby/ruby-511-16-006/main.rb
16 строк
1 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
Разбор: - Фрагмент показывает конкретный сценарий, который стартует со строки `- При первом обращении к `user.posts` происходит **ленивая загрузка** (lazy loading) — зап` и задаёт контекст выполнения. - Ключевые элементы блока: `join`, `SELECT`, `includes`, они определяют основную логику примера. - По шагам код выполняется так: `- При первом обращении к `user.posts` происходит **ленивая загрузка*` -> `**Проблема N+1**:` -> `Если в цикле `@users.each { |u| puts u.posts.count }` — для каждого ` -> `---`. - Для производительности важны индексы по условиям выборки, проверка плана выполнения и контроль N+1 при связях. - Типичная ошибка при развитии такого кода — смешивать бизнес-правила и инфраструктурные детали в одном месте; лучше разделять ответственность. class CreateUsers < ActiveRecord::Migration[7.0] def change create_table :users do |t| t.string :name, null: false t.string :email, index: { unique: true } t.timestamps end end end