pandas.read_sql() is MUCH slower when using SQLAlchemy than pyodbc

谁说我不能喝 提交于 2019-12-11 07:26:04

问题


I am trying to read a small table from SQL and I'm looking into switching over to SQLAlchemy from pyodbc to be able to use pd.to_sql()

When I compare the two, the sql alchemy is much slower.

s_py = """\
import pandas as pd
import pyodbc
cxn = pyodbc.connect('DRIVER={SQL SERVER};SERVER=.\;DATABASE=PPIS;UID=sa;PWD=pwd')
"""

s_alch = """\
import pandas as pd
import sqlalchemy
cxn = sqlalchemy.create_engine("mssql+pyodbc://sa:pwd@./PPIS?driver=SQL+Server")
"""
timeit.timeit('pd.read_sql("SELECT * FROM Operators", cxn)',setup=s_py, number=100)

Out[21]: 0.18496091418973037

timeit.timeit('pd.read_sql("SELECT * FROM Operators", cxn)',setup=s_alch, number=100)

Out[23]: 4.407356934717654

I've seen this that talks about inserting rows. But why would the read be so much slower?

来源:https://stackoverflow.com/questions/48818884/pandas-read-sql-is-much-slower-when-using-sqlalchemy-than-pyodbc

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!