假设
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`