O mysqldb puxa todo o resultado da consulta em um pedaço sempre, mesmo que eu faça um fetchone?

Então, se eu fizer

 import MySQLdb
 conn = MySQLdb.connect(...)
 cur = conn.cursor()
 cur.execute("SELECT * FROM HUGE_TABLE")
 print "hello?"
 print cur.fetchone() 

Parece-me que o MySQLdb obtém toda a enorme tabela antes de chegar à "impressão". Eu presumi anteriormente que ele fazia algum tipo de recuperação lenta de "cursor / state" em segundo plano, mas não parece para mim. Isto está certo? Se assim é porque tem que ser dessa forma ou é devido a uma limitação do protocolo de ligação do MySQL? Isso significa que o java / hibernate se comporta da mesma maneira?

Eu acho que eu preciso usar o "limite 1" cláusulas e parentes do MySQL se eu quiser andar através de uma grande mesa sem puxar a coisa toda de uma só vez? Ou não? Desde já, obrigado.

questionAnswers(3)

yourAnswerToTheQuestion