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

Come velocizzare il caricamento dei dati da Oracle sql a Pandas df

Impostazione del valore corretto per cur.arraysize potrebbe essere utile per regolare le prestazioni di recupero .È necessario determinare il valore più adatto. Il valore predefinito è 100 . Un codice con dimensioni di matrice diverse potrebbe essere eseguito per determinare quel valore come

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) 

e quindi imposta come cur.arraysize =10000 prima di chiamare db_select dal tuo codice originale