gpt4 book ai didi

python - SQLAlchemy `.fetchmany()` 与 `.limit()`

转载 作者:行者123 更新时间:2023-12-04 01:37:59 25 4
gpt4 key购买 nike

假设 query是一些已经定义的查询。据我所知,connection.execute(query).fetchmany(n)connection.execute(query).limit(n).fetchall()显然返回相同的结果集。我想知道其中一个是否更惯用,或者更重要的是 - 更高效?

示例用法是:

query = select([census.columns.state, (census.columns.pop2008 - census.columns.pop2000).label("pop_change")]).group_by(census.columns.state).order_by(desc("pop_change"))
results_1 = query.limit(5).fetchall()
results_2 = connection.execute(query).fetchmany(n) #`results_2` = `results_1`

最佳答案

limit 将一部分 sql 查询发送到数据库服务器。

使用 fetchmany 可以无限制地执行查询,但客户端(python 代码)仅请求特定数量的行。

因此在大多数情况下使用 limit 应该更快。

关于python - SQLAlchemy `.fetchmany()` 与 `.limit()`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58818175/

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