mysqldb pobiera całe zapytanie zawsze w jednym kawałku, nawet jeśli po prostu robię fetchone?
Więc jeśli to zrobię
import MySQLdb
conn = MySQLdb.connect(...)
cur = conn.cursor()
cur.execute("SELECT * FROM HUGE_TABLE")
print "hello?"
print cur.fetchone()
Wygląda na to, że MySQLdb pobiera cały ogromny stół, zanim dotrze do „wydruku”. Wcześniej zakładałem, że w tle wykonałem leniwe wyszukiwanie „kursorem / stanem”, ale dla mnie to nie wygląda. Czy to jest poprawne? Jeśli tak, to dlatego, że musi tak być, czy jest to spowodowane ograniczeniem protokołu przewodowego MySQL? Czy to oznacza, że java / hibernate zachowuje się tak samo?
Myślę, że muszę użyć klauzul MySQL i „limit 1” i krewnych, jeśli chcę przejść przez duży stół bez ciągnięcia wszystkiego od razu? Albo nie? Z góry dziękuję.