首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python ()和commit与许多execute()和commit

Python ()和commit与许多execute()和commit
EN

Stack Overflow用户
提问于 2020-05-04 00:06:59
回答 3查看 2.3K关注 0票数 1

我目前正在编写代码,通过普通的python脚本将一堆对象数据插入mysql数据库。我需要插入的行数大约是几千行。我希望能够尽可能快地做到这一点,并想知道在一堆fo行上调用executeMany()与调用commit()、vs多次调用execute()、然后调用commit()之间是否存在性能差异。

EN

Stack Overflow用户

回答已采纳

发布于 2020-05-04 00:17:24

一次执行所有操作并在流程结束时提交总是更有效。如果性能重要,commit会引发额外的处理,您不希望对每一行重复这些处理。

您执行的操作越多,性能效益就越大。另一方面,你需要考虑长期手术的副作用。例如,如果有多个进程同时插入,那么死锁的风险就会增加--特别是当出现重复的关键错误时。中间方法是分批插入。您可能想看看关于锁定机制的MYSQL文档

MySQL文档中有一个关于语句的有趣部分--以下是一些选择:

  • load data语法是最快可用的选项。
  • 使用多个values()列表也比运行多个inserts要快得多
票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61583247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档