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

So beschleunigen Sie das Laden von Daten von Oracle SQL nach Pandas df

Festlegen des richtigen Werts für cur.arraysize kann zur Optimierung der Abrufleistung hilfreich sein .Sie müssen den geeignetsten Wert dafür ermitteln. Der Standardwert ist 100 . Ein Code mit einer anderen Array-Größe könnte ausgeführt werden, um diesen Wert zu ermitteln, z. B.

arr=[100,1000,10000,100000,1000000]
for size in arr:
        try:
            cur.prefetchrows = 0
            cur.arraysize = size
            start = datetime.now()
            cur.execute("SELECT * FROM mytable").fetchall()
            elapsed = datetime.now() - start
            print("Process duration for arraysize ", size," is ", elapsed, " seconds")
        except Exception as err:
            print("Memory Error ", err," for arraysize ", size) 

und setzen Sie dann beispielsweise cur.arraysize =10000 vor dem Aufruf von db_select aus Ihrem ursprünglichen Code