【发布时间】:2019-02-07 11:25:05
【问题描述】:
我有一些繁重的查询,其中性能要求在连接之前应用过滤器。根据some SO posts
查询优化器通常足够聪明,可以及早过滤。
session.query(Table1.post_id)\
.join(Table2, Table1.post_id == Table2.post_id)\
.filter(and_(Table1.user_id == thing1.id, Table2.blob_id == thing2.id))
我是否应该期望执行这种类型的查询,以便在连接之前应用过滤器?
【问题讨论】:
-
你试过调试actual query吗?
-
这更多的是关于“Postgresql 性能”而不是“SQLAlchemy 过滤器性能”,除非您询问如何在 SQLA 查询上运行
EXPLAIN。 -
我们唯一可以分析的是由 SQLAlchemy 生成的实际 SQL,它被传递给 Pg 执行。
标签: sql postgresql sqlalchemy database-performance