循环游标和在行查询中循环cursor.fetchall之间的区别

时间:2010-12-03 08:02:53

标签: django

假设我有以下代码

cursor = connection.cursor()
cursor.execute(query)

在那之后我想循环遍历所有结果集。

之间有什么区别
for row in cursor:
    print row[0]


for row in cursor.fetchall():
   print row[0]

I

我猜第一个是使用fetchone方法。

1)第一个是每次迭代都运行一个查询。 2)它使用fetchone方法还是fetchall方法 3)哪个更适合大结果集?

1 个答案:

答案 0 :(得分:3)

迭代游标的能力是PEP 249定义的可选扩展,确切的语义取决于所使用的数据库适配器。