Python db-api: fetchone vs fetchmany vs fetchall

Я только что обсуждал сегодня с некоторыми коллегами fetchone db-api python vs fetchmany vs fetchall.

Я уверен, что вариант использования каждого из них зависит от реализации используемого мной db-api, но каковы в целом варианты использования fetchone vs fetchmany vs fetchall?

Другими словами, являются ли следующие эквиваленты? или один из них предпочтительнее других? и если да, в каких ситуациях?

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
64
задан Alex Q 4 March 2011 в 06:12
поделиться