现在我已经在sqlalchemy的文档中读到了关于这个批量插入的内容,但是对于我的应用程序来说,它可能需要花费更多的时间!
首先,我会告诉你我是如何做到的:
def insert_all(self, table_name, schema_name, df):
if not df.empty:
values = df.to_dict(orient='records')
table = Table(table_name , self._metadata, autoload=True, schema=schema_name)
result_proxy = self._connection.execute(table.insert(), values)
return result_proxy
else:
return None
values
的格式为:
[{'col1': 1.0, 'col2': 0.5},
{'col1': 2.0, 'col2': 0.75}, ...]
但列数可能会有所不同。使用此方法将400,000条记录插入MSSQL Server大约需要15到20分钟。
请您告诉我这是否正常,如果没有,我该怎么做才能让这个过程更快?