2011-06-01 1 views
19

Imagine que j'ai un curseur mysql et que je lis des données. La quantité de données peut être très importante et je veux traiter une ligne à chaque fois.A propos du curseur mysql et de l'itérateur

Un moyen facile et simple pourrait ressembler à ceci:

while True: 
    row = cursor.fetchone() 
    if not row: break 
    ..... 

mais cela ne semble pas bon, donc je me demande si cette façon fonctionne comme imaginé:

for row in iter(cursor.fetchall()) 

la chose que je Je veux savoir: si j'utilise la méthode iter(cursor.fetchall()), récupère-t-elle toutes les données en premier ou ne récupère qu'une ligne à la fois?

Une idée est appréciée.

thx

Répondre