Mysql
 sql >> Database >  >> RDS >> Mysql

Python db-api:fetchone vs fetchmany vs fetchall

Penso che in effetti dipenda dall'implementazione, ma puoi avere un'idea delle differenze esaminando i sorgenti di MySQLdb. A seconda delle opzioni, mysqldb fetch* mantiene l'attuale set di righe in memoria o lato server, quindi fetchmany vs fetchone ha una certa flessibilità qui per sapere cosa conservare nella memoria (di Python) e cosa mantenere db lato server.

PEP 249 non fornisce molti dettagli, quindi suppongo che questo sia per ottimizzare le cose a seconda del database mentre la semantica esatta è definita dall'implementazione.