python - Wie kann ich die Geschwindigkeit von Pandas' read_sql optimieren?
淡淡烟草味
淡淡烟草味 2017-06-28 09:22:30
0
1
2038

Meine Anforderungen erfordern eine Datenabfrage und Korrelation zwischen mehreren Datenbanken. Daher habe ich mich für die Verwendung von Pandas entschieden, die Daten über read_sql gelesen und im Datenrahmen verarbeitet, um die Zieldaten direkt zu generieren. Derzeit stoßen wir jedoch auf ein Problem: read_sql ist sehr langsam. Das Einlesen einer 37-W-Datenvolumentabelle (22 Felder) in einen Datenrahmen in der Oracle-Bibliothek dauert beispielsweise viereinhalb Minuten. Der Code lautet wie folgt:

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)

Dauerte 4 Minuten und 32 Sekunden

Selbst wenn ich eine andere einfache und grobe Methode verwende, ist sie viel schneller als read_sql. Der Code lautet wie folgt:

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)

Es dauerte 1 Minute und 31 Sekunden

Ich möchte alle hier fragen, ob es eine Möglichkeit gibt, die Geschwindigkeit von read_sql in Pandas zu optimieren. Vielen Dank~

淡淡烟草味
淡淡烟草味

Antworte allen (1)
世界只因有你
试试read_sql_table http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_sql_table.html#pandas.read_sql_table
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!