如何有效使用MySQLDB SScursor?

我必须处理一个很大的结果集(可能是数十万行,有时更多)。

不幸的是,它们需要一次全部检索(在启动时)。

我正在尝试通过使用尽可能少的内存来做到这一点。

通过查看SO,我发现使用SSCursor可能是我想要的,但我仍然不太了解如何正确使用它们。

正在做一个fetchall()从基光标或SScursor相同的(在内存使用的术语)?

我可以一排(或几排)从sscursor的行中“流化”

吗?如果是,这样做的最佳方法是什么?

回答:

我同意Otto Allmendinger的回答,但是要做出明确的Denis

Otkidach的评论,这是不使用Otto的fetch()函数即可遍历结果的方法:

import MySQLdb.cursors

connection=MySQLdb.connect(

host="thehost",user="theuser",

passwd="thepassword",db="thedb",

cursorclass = MySQLdb.cursors.SSCursor)

cursor=connection.cursor()

cursor.execute(query)

for row in cursor:

print(row)

以上是 如何有效使用MySQLDB SScursor? 的全部内容, 来源链接: utcz.com/qa/399453.html

回到顶部