有没有更快的方法来做Sqlalchemy核心批量插入?

时间:2017-11-16 14:32:07

标签: python dataframe sqlalchemy

现在我已经在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分钟。

请您告诉我这是否正常,如果没有,我该怎么做才能让这个过程更快?

0 个答案:

没有答案