假设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`
限制将是发送到数据库服务器的sql查询的一部分。你知道吗
对于fetchmany,查询的执行没有任何限制,但是客户机(python代码)只请求一定数量的行。你知道吗
因此,在大多数情况下,使用限制应该更快。你知道吗
相关问题 更多 >
编程相关推荐