Oracle
 sql >> Base de données >  >> RDS >> Oracle

Récupérer d'énormes données d'Oracle en Python

Vous devez utiliser cur.fetchmany() à la place. Il récupérera un morceau de lignes défini par arraysise (256)

Code Python :

def chunks(cur): # 256
    global log, d
    while True:
        #log.info('Chunk size %s' %  cur.arraysize, extra=d)
        rows=cur.fetchmany()

        if not rows: break;
        yield rows

Faites ensuite votre traitement dans une boucle for ;

for i, chunk  in enumerate(chunks(cur)):
            for row in chunk:
                     #Process you rows here

C'est exactement comme ça que je le fais dans mon TableHunter pour Oracle .