Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Abrufen riesiger Daten von Oracle in Python

Sie sollten cur.fetchmany() verwenden stattdessen. Es wird ein Stück von Zeilen abgerufen, die durch arraysise (256) definiert sind.

Python-Code:

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

Führen Sie dann Ihre Verarbeitung in einer for-Schleife durch;

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

Genau so mache ich es in meinem TableHunter for Oracle .