Oracle
 sql >> Database >  >> RDS >> Oracle

Recupero di enormi dati da Oracle in Python

Dovresti usare cur.fetchmany() invece. Recupererà un blocco di righe definito da arraysise (256)

Codice 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

Quindi esegui l'elaborazione in un ciclo for;

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

È esattamente come lo faccio nel mio TableHunter per Oracle .