Python db-api: fetchone vs fetchmany vs fetchall
Tuve una discusión hoy con algunos compañeros de trabajo sobre db-api fetchone de python vs fetchmany vs fetchall.
Estoy seguro de que el caso de uso de cada uno de estos depende de la implementación de la db-api que estoy usando, pero en general, ¿cuáles son los casos de uso de fetchone vs fetchmany vs fetchall?
En otras palabras, ¿son los siguientes equivalentes? o hay uno de estos que se prefiere sobre los demás? y si es así, ¿en qué situaciones?
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