当使用pyodbc并主要使用函数pandas.read_sql(query,pyodbc_conn)从SQL Server数据库加载超过1000万条记录时,Pandas的速度会变得非常慢。下面的代码需要40-45分钟才能从SQL表Table1
中加载1000-1500万条记录:
有没有更好、更快的方法将SQL表读入pandas DataFrame?
import pyodbc
import pandas
server = <server_ip>
database = <db_name>
username = <db_user>
password = <password>
port='1443'
conn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server+';PORT='+port+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = conn.cursor()
data = pandas.read_sql("select * from Table1", conn) #Takes about 40-45 minutes to complete
rows = cursor.execute("select * from Table1").fetchall()
需要相似的时间吗? - Gord Thompson