sql >> Databasteknik >  >> RDS >> Oracle

Hur man snabbar på att ladda data från oracle sql till pandas df

Ställer in rätt värde för cur.arraysize kan hjälpa till att justera hämtningsprestanda .Du måste bestämma det mest lämpliga värdet för det. Standardvärdet är 100 . En kod med olika arraystorlekar kan köras för att bestämma det värdet som t.ex.

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) 

och ställ sedan in som cur.arraysize =10000 innan du anropar db_select från din ursprungliga kod




  1. java.sql.SQLException:Felaktigt strängvärde:'\xF0\x9F\x91\xBD\xF0\x9F...'

  2. Hänvisar till ett kolumnalias i en WHERE-klausul

  3. Är det möjligt att ange parametrar för tabell- eller kolumnnamn i Prepared Statements eller QueryRunner.update()?

  4. Kan du använda ett alias i WHERE-satsen i mysql?