Acabo de tener una discusión hoy con algunos compañeros de trabajo sobre db-api fetchone de python vs fetchmany vs fetchall.Python db-api: fetchone vs fetchmany vs fetchall
Estoy seguro de que el uso de cada uno de estos casos depende de la implementación del db-api que estoy usando, pero, en general, ¿cuáles son los casos de uso para fetchone vs fetchmany vs fetchall?
En otras palabras, ¿tiene el siguiente equivalente? o hay uno de estos que se prefiere sobre los otros? 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
Encuentro diferencias en la cantidad de memoria que estos usan, con fetchall() usando la mayor cantidad de memoria. –
Estos tres comandos de búsqueda me hicieron rascar la cabeza también. ¿Qué pasa si el Python en cuestión se ejecuta en el MISMO servidor que el servidor mySQL? – SMGreenfield