我使用以下代码用扩展的"插入";。
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)
我的问题是,如果我有很多行要插入,例如100000行:
我应该插入一个查询吗。
或者调用具有固定步长的多次执行,例如1000。
我读了一些文章,建议用100。
我用100000条要插入的记录来测试我的代码。
一次处决比多次处决快。
我不知道该怎么办。不知道我是否错过了这里的理解。
请帮忙评论。谢谢
MySQL文档有助于详细说明这一点:
在大多数情况下,executemany((方法遍历参数序列,每次都将当前参数传递给execute((方法。
对插入应用优化:参数序列给定的数据值使用多行语法进行批处理。