python - Bagaimanakah saya boleh mengoptimumkan kelajuan read_sql panda?
淡淡烟草味
淡淡烟草味 2017-06-28 09:22:30
0
1
2172

Keperluan saya memerlukan pertanyaan data dan korelasi antara berbilang pangkalan data, jadi saya memilih untuk menggunakan panda, membaca data melalui read_sql dan memprosesnya ke dalam kerangka data untuk menjana data sasaran secara langsung. Tetapi pada masa ini kami menghadapi masalah: read_sql sangat perlahan Contohnya, ia mengambil masa 4 setengah minit untuk membaca jadual volum data 37W (22 medan) ke dalam bingkai data dalam perpustakaan Oracle. Kodnya adalah seperti berikut:

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)

Mengambil masa 4 minit dan 32 saat

Walaupun saya menggunakan kaedah lain yang mudah dan kasar, ia akan menjadi lebih cepat daripada read_sql. Kodnya adalah seperti berikut:

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)

Ia mengambil masa 1 minit dan 31 saat

Saya ingin bertanya kepada semua orang di sini jika ada cara untuk mengoptimumkan kelajuan read_sql dalam panda. Terima kasih banyak~

淡淡烟草味
淡淡烟草味

membalas semua(1)
世界只因有你
试试read_sql_table

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_sql_table.html#pandas.read_sql_table
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan