Standard MySQLdb
markören hämtar hela frågeresultatet på en gång från servern. Konvertering av denna data till en Python-lista med tuplar kan ta mycket minne och tid.
Använd MySQLdb.cursors.SSCursor
när du vill göra en stor fråga och dra resultat från servern en i taget. Observera dock att när du använder SSCursor, ingen annan fråga kan göras
på connection
tills hela resultatuppsättningen har hämtats.
import MySQLdb
import MySQLdb.cursors as cursors
connection = MySQLdb.connect(
...
cursorclass = cursors.SSCursor)
cursor = connection.cursor()
cursor.execute(query)
for row in cursor:
...
Eller använd oursql , en alternativ Python-drivrutin för MySQL. En av funktionerna i oursql är att den hämtar rader lättsamt .