如何使用Python批量插入数据到MySQL

0 投票
1 回答
2595 浏览
提问于 2025-04-16 05:05

我现在在用Alchemy作为对象关系映射工具(ORM),我想找个办法加快我的数据插入速度,因为我有一堆XML文件需要导入。

for name in names:
    p=Product()
    p.name="xxx"
    session.commit()

我用上面的代码把从批量XML文件中解析出来的数据插入到MySQL数据库里,但速度非常慢。

我也试过

for name in names:
    p=Product()
    p.name="xxx"
session.commit()

但似乎没有什么变化。

1 个回答

1

你可以绕过ORM(对象关系映射)来进行插入操作,直接使用SQL表达式生成器

可以这样做:

conn.execute(Product.insert(), [dict(name=name) for name in names])

这样就能生成一个单独的语句来完成插入。

这个例子是从同一页面的下方摘录的。

(我很想知道你从中获得了多大的速度提升)

撰写回答