Výchozí MySQLdb
kurzor načte celý výsledek dotazu najednou ze serveru. Převod těchto dat do seznamu n-tic v Pythonu může spotřebovat hodně paměti a času.
Použijte MySQLdb.cursors.SSCursor
když chcete udělat velký dotaz a vytáhnout výsledky ze serveru jeden po druhém. Pamatujte však, že při použití SSCursor žádný jiný lze provést dotaz
na connection
dokud nebude načtena celá sada výsledků.
import MySQLdb
import MySQLdb.cursors as cursors
connection = MySQLdb.connect(
...
cursorclass = cursors.SSCursor)
cursor = connection.cursor()
cursor.execute(query)
for row in cursor:
...
Nebo použijte oursql , alternativní ovladač Pythonu pro MySQL. Jednou z funkcí oursql je, že načítá řádky líně .