使用 SQLAlchemy 时 pandas.read_sql() 比 pyodbc 慢得多

2024-03-26

我正在尝试从 SQL 读取一个小表,并且正在考虑从 pyodbc 切换到 SQLAlchemy 以便能够使用 pd.to_sql()

当我比较两者时,sql alchemy 慢得多。

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)

输出[21]:0.18496091418973037

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

输出[23]:4.407356934717654

我见过this https://stackoverflow.com/questions/29706278/python-pandas-to-sql-with-sqlalchemy-how-to-speed-up-exporting-to-ms-sql谈到插入行。但为什么读取速度会慢很多呢?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 SQLAlchemy 时 pandas.read_sql() 比 pyodbc 慢得多 的相关文章

随机推荐