В чём разница между joins и includes в Ruby on Rails?
joins использует связь таблиц для формирования выборки, а includes заранее загружает ассоциации. Фильтрация пользователей по постам не равна загрузке самих постов.
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
joins использует связь таблиц для формирования выборки, а includes заранее загружает ассоциации. Фильтрация пользователей по постам не равна загрузке самих постов.
Читать ответRelation описывает запрос Active Record и позволяет наращивать условия до загрузки данных. После загрузки тот же объект повторно использует полученные записи.
Читать ответSTI хранит иерархию моделей в общей таблице, а полиморфная ассоциация связывает запись с объектами разных моделей. Это разные механизмы.
Читать ответПредварительная загрузка ассоциаций Active Record, различия includes, preload и eager_load и важная оговорка о count и size.
Читать ответКак создавать и применять кастомные запросы в Hibernate? Hibernate — ORM для Java, который упрощает взаимодействие приложения с базой данных. Кастомные запросы применяю, когда нужную сложную выборку нельзя выразить…
Читать ответКак prefetch_related и select_related помогают избежать проблемы N+1? Оптимизация запросов средствами Django ORM select_related: применяет SQL JOIN и сразу загружает связанные объекты используется с OneToOne и…
Читать ответHibernate — Java ORM, в котором по умолчанию используется ленивая загрузка Проблема N+1 возникает, когда один запрос выбирает основные данные, а ещё N запросов обращаются к связанным объектам при ленивой загрузке…
Читать ответORM для Go: основные варианты и преимущества к популярным ORM относятся GORM, Ent, SQLBoiler, XORM и Pop GORM: широкий набор возможностей, удобные миграции, работа со связями и большое сообщество Ent: создание…
Читать ответРучные SQL-запросы и ORM (Hibernate): преимущества и ограничения Ручной SQL: обеспечивает полный контроль над запросом и его оптимизацией Ручной SQL: предпочтителен для сложных и специализированных запросов, требующих…
Читать ответОсновные типы отношений в Laravel Eloquent Отношения описывают связи между таблицами базы данных one-to-one: связь один к одному (hasOne, belongsTo) one-to-many: связь один ко многим (hasMany, belongsTo) many-to-many:…
Читать ответПлюсы и минусы применения ORM (SQLAlchemy) ORM представляет собой уровень абстракции над SQL для работы с БД Преимущества: позволяет взаимодействовать с данными через объекты автоматически формирует SQL и тем самым…
Читать ответEloquent — это ORM Laravel, построенный на основе паттерна ActiveRecord В такой модели объединены представление данных и бизнес-логика Экземпляры моделей инкапсулируют операции с БД, включая CRUD-логику Подход…
Читать ответ