python - 請問如何可以優化提升pandas的read_sql的速度呢?
淡淡烟草味
淡淡烟草味 2017-06-28 09:22:30
0
1
2044

小弟的需求需要在多個資料庫之間查詢資料並關聯,所以小弟選擇了使用pandas,透過read_sql讀取資料至dataframe加工後直接產生目標資料。但目前遭遇了一個問題:read_sql的速度非常慢,例如,在oracle庫中讀取37W資料量(22個欄位)的表至dataframe耗時需要4分半。程式碼如下:

import pandas as pd
import sqlalchemy as sql
ora_engine=sql.create_engine('oracle://test01:test01@test01db')
ora_df1=pd.read_sql('select * from target_table1',ora_engine)

耗時4分32秒

甚至小弟使用另一個簡單粗暴的方法都會比read_sql快很多。程式碼如下:

import pandas as pd
import sqlalchemy as sql
ora_engine=sql.create_engine('oracle://test01:test01@test01db')
conn=ora_engine.raw_connection()
cursor=conn.cursor()
queryset=cursor.execute('select * from target_table1')
columns=[for i[0] in queryset.description]
df_data=queryset.fetchall()
ora_df1=pd.DataFrame()
ora_df1.columns=columns
ora_df1.append(df_data)

耗時1分31秒

這裡想請教一下各位大大,有什麼方法可以優化提升pandas的read_sql的速度,非常感謝大家~

淡淡烟草味
淡淡烟草味

全部回覆(1)
世界只因有你

雷雷

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!