gpt4 book ai didi

python - sqlalchemy : Optimizing a query using joins

转载 作者:行者123 更新时间:2023-11-29 20:03:56 25 4
gpt4 key购买 nike

我正在使用 sqlachemy 和 MySQL 后端。实际上在优化查询时遇到了问题。

我有以下一组模型:

class Book(Base):
__tablename__ = 'books'
name = Column(String(32), primary_key=True)
sku = Column(Integer, nullable=False)



class Author(Base):
__tablename__ = 'authors'
name = Column(String(64), primary_key=True)
# book
books = relationship(Book, secondary=Table(
'author_books', Base.metadata,
Column('author', String(32),
ForeignKey(Author.name), primary_key=True),
Column('book', String(64), ForeignKey("book.title"),
primary_key=True)
), backref=backref('book_authors', cascade="save-update"))

并且正在执行查询:

authors_with_books = [(autor.name, [book.name for book in books]) for author in session.query(Authors)]

这实际上非常非常慢:(

最佳答案

您的查询速度很慢,因为您正在 python 上连接数据。

在数据库上进行。

尝试类似的事情:

authors_with_books = session.query(Author.name, Book.name)

它将在 SQL 上创建联接

关于python - sqlalchemy : Optimizing a query using joins,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40412916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com