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

Comment accélérer le chargement des données d'oracle sql vers pandas df

Définition de la valeur appropriée pour cur.arraysize peut aider à ajuster les performances de récupération .Vous devez déterminer la valeur la plus appropriée pour cela. La valeur par défaut est 100 . Un code avec des tailles de tableau différentes peut être exécuté afin de déterminer cette valeur telle que

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) 

puis définissez comme cur.arraysize =10000 avant d'appeler db_select à partir de votre code d'origine