Standard MySQLdb
markøren henter hele forespørgselsresultatet på én gang fra serveren. Konvertering af disse data til en Python-liste over tupler kan forbruge meget hukommelse og tid.
Brug MySQLdb.cursors.SSCursor
når du vil lave en enorm forespørgsel og trække resultater fra serveren én ad gangen. Bemærk dog, at når du bruger SSCursor, ingen anden forespørgsel kan foretages
på connection
indtil hele resultatsættet er hentet.
import MySQLdb
import MySQLdb.cursors as cursors
connection = MySQLdb.connect(
...
cursorclass = cursors.SSCursor)
cursor = connection.cursor()
cursor.execute(query)
for row in cursor:
...
Eller brug oursql , en alternativ Python-driver til MySQL. En af funktionerne ved oursql er, at den henter rækker dovent .