Über mysql cursor und iterator
Vorstellen, ich habe eine mysql-cursor und Daten Lesen. Die Datenmenge kann sehr groß sein, ich möchte den Umgang mit einer Linie jedes mal.
Einfach und geradlinig sein könnte wie dieser:
while True:
row = cursor.fetchone()
if not row: break
.....
aber das sieht nicht gut aus, deshalb Frage ich mich, ob dieser Weg funktioniert, als gedacht:
for row in iter(cursor.fetchall())
das, was ich wissen will ist: wenn ich den iter(cursor.fetchall())
Art und Weise, ist es, Holen alle die Daten zuerst oder es nur fetch eine Zeile zu einem Zeitpunkt?
Jede Idee ist willkommen.
thx
InformationsquelleAutor der Frage taijirobot2 | 2011-06-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
MySQLdb
cursor-Klasse implementiert die iterator-Protokollso können Sie einfach, dies zu tun:Den relevanten code aus MySQLdb.Cursor.BaseCursor:
InformationsquelleAutor der Antwort samplebias