首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django cursor.executemany每个"executemany“的首选批大小是什么?

Django cursor.executemany每个"executemany“的首选批大小是什么?
EN

Stack Overflow用户
提问于 2021-01-08 05:56:15
回答 1查看 756关注 0票数 0

我使用以下代码对扩展的"insert into“进行批量插入。

代码语言:javascript
复制
    cursor = connections['default'].cursor()

    sql = "INSERT INTO %s (%s) VALUES ([xxx], [xxx], ...) "

    step = 1000
    for l in range(0, len(values), step):
        s_values = values[l:l+step]
        cursor.executemany(sql, s_values)

我的问题是,如果我有很多行要插入,例如,100,000行:

我是否应该插入一个查询。

或者用固定的步骤调用多个executemany,例如1000。

我读了一些文章,建议使用100。

我用要插入的10万条记录来测试我的代码。

一次执行比多次执行要快。

我不知道该怎么办。不知道我是不是错过了这里的一些东西。

请发表意见。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-08 06:18:07

MySQL文档有助于详细说明这一点:

在大多数情况下,executemany()方法迭代参数序列,每次都将当前参数传递给execute()方法。对插入进行了优化:参数序列给出的数据值是使用多行语法批处理的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65624087

复制
相关文章

相似问题

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