Python db-api: fetchone vs fetchmany vs fetchall
Hoje eu tive uma discussão com alguns colegas de trabalho sobre o db-api fetchone x fetchmany vs fetchall do python.
Tenho certeza de que o caso de uso de cada um deles depende da implementação da db-api que estou usando, mas, em geral, quais são os casos de uso de fetchone vs fetchmany vs fetchall?
Em outras palavras, são os seguintes equivalentes? ou há um desses que é preferido em relação aos outros? e se sim, em que situações?
cursor.execute("SELECT id, name FROM `table`")
for i in xrange(cursor.rowcount):
id, name = cursor.fetchone()
print id, name
cursor.execute("SELECT id, name FROM `table`")
result = cursor.fetchmany()
while result:
for id, name in result:
print id, name
result = cursor.fetchmany()
cursor.execute("SELECT id, name FROM `table`")
for id, name in cursor.fetchall():
print id, name