Вопросы к Поиску с Алисой
Eager loading и lazy loading в SQLAlchemy отличаются подходом к загрузке связанных данных. soshace.com
Lazy loading предполагает, что объекты возвращаются из запроса без начальной загрузки связанных объектов. aelsayed95.github.io Когда к связанному объекту впервые обращаются, для доступа к нему генерируются дополнительные операторы SELECT. aelsayed95.github.io Это стандартная техника загрузки в SQLAlchemy. aelsayed95.github.io
Eager loading означает, что объекты возвращаются из запроса с уже загруженной связанной коллекцией или скалярной ссылкой. docs.sqlalchemy.org ORM достигает этого, добавляя в оператор SELECT JOIN для одновременной загрузки связанных строк или генерируя дополнительные операторы SELECT после основного для загрузки коллекций или скалярных ссылок сразу. docs.sqlalchemy.org
Таким образом, eager loading полезна, когда нужно загрузить информацию обо всех или многих дочерних объектах вместе с родительским объектом. aelsayed95.github.io Lazy loading же выгодна, когда не нужно все связанные данные сразу. soshace.com