当我使用MAMP和mysql执行此命令时:
SELECT * FROM cont_bar
它只需要(总共264,278,查询耗时0.0007秒。)但是,当我尝试将此表加载到pandas data_frame时,它变得非常慢。我尝试了两种方法。
第一种方法
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine("mysql://{}:{}@{}:{}/{}".format(DB_USER, DB_PASSWORD, DB_HOST, DB_PORT, FUTURE_DAILY_BAR_DB))
conn = engine.connect()
resoverall = conn.execute("SELECT * FROM cont_bar")
full_pd = pd.DataFrame(resoverall.fetchall())
full_pd.columns = resoverall.keys()
这个需要20秒。
第二种方法
engine = create_engine("mysql://{}:{}@{}:{}/{}".format(DB_USER, DB_PASSWORD, DB_HOST, DB_PORT, FUTURE_DAILY_BAR_DB))
conn = engine.connect()
full_pd_2 = pd.read_sql("SELECT * FROM cont_bar", conn)
这个需要37秒。我觉得这很慢。它是最好的sqlalchemy /任何其他基于mysql的python包可以做到的吗?