Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQLAlchemy lädt eifrig mehrere Beziehungen

Für eine Eins-zu-Viele- oder Viele-zu-Viele-Beziehung ist es (normalerweise) besser, subqueryload stattdessen aus Leistungsgründen:

session.query(Product).join(User.addresses)\
    .options(subqueryload(Product.orders),\
             subqueryload(Product.tags)).all()

Dies gibt ein separates SELECT aus Abfragen für jede der orders und tags .