久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

python - 請(qǐng)問如何可以優(yōu)化提升pandas的read_sql的速度呢?

瀏覽:153日期:2022-06-27 16:28:52

問題描述

小弟的需求需要在多個(gè)數(shù)據(jù)庫之間查詢數(shù)據(jù)并關(guān)聯(lián),所以小弟選擇了使用pandas,通過read_sql讀取數(shù)據(jù)至dataframe加工后直接生成目標(biāo)數(shù)據(jù)。但是目前遭遇了一個(gè)問題:read_sql的速度非常慢,例如,在oracle庫中讀取37W數(shù)據(jù)量(22個(gè)字段)的表至dataframe耗時(shí)需要4分半。代碼如下:

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

耗時(shí)4分32秒

甚至小弟使用另外一個(gè)簡單粗暴的方法都會(huì)比read_sql快很多。代碼如下:

import pandas as pdimport sqlalchemy as sqlora_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=columnsora_df1.append(df_data)

耗時(shí)1分31秒

這里想請(qǐng)教一下各位大大,有什么方法可以優(yōu)化提升pandas的read_sql的速度,非常感謝大家~

問題解答

回答1:

試試read_sql_tablehttp://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_sql_table.html#pandas.read_sql_table

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 麻阳| 理塘县| 上饶县| 东平县| 新疆| 舒兰市| 白水县| 五峰| 柞水县| 防城港市| 长顺县| 潜山县| 图木舒克市| 丰都县| 威海市| 商南县| 龙南县| 井研县| 绥棱县| 德阳市| 柞水县| 大同县| 安图县| 荥阳市| 浦北县| 浪卡子县| 宿州市| 浮梁县| 汾阳市| 沂源县| 兴国县| 廊坊市| 沁水县| 乳源| 达日县| 福海县| 白水县| 阜宁县| 普洱| 合山市| 西盟|