vae*_*r-k 8 python sqlalchemy python-3.x
使用 SQLAlchemy,我执行如下查询:
import models as m
import sqlalchemy as sa
s = session_maker()
q = s.query(m.ShareCount, m.Article)
.join(m.Article)
.filter(sa.and_(start < m.ShareCount.tstamp, m.ShareCount.tstamp < end))
Run Code Online (Sandbox Code Playgroud)
是在执行filter之前还是之后应用?join
vae*_*r-k -1
答案显然是,这取决于情况。
@univerio是正确的,sqlalchemy过滤器确实简单地转换为where,但查询的实际执行计划可能会被安排,以便首先应用过滤器。它仅取决于查询和优化器的实现。
我发现这个关于 WHERE 的 SQL 操作顺序的答案对于理解这一点最有帮助。
| 归档时间: |
|
| 查看次数: |
7873 次 |
| 最近记录: |