django 批量更新 批量新增 睡几秒 sleep 几秒
0-1 睡几秒?
情况1: 批量插入时, 每次插入100条, 睡time.sleep(1);
情况2: 单条单条插入时, 每插入一条睡0.05秒;
其他: 批量requests请求时, 单次请求完了睡1sec, 否则, 不是你的IP被封了,就是给人家服务器造成冲击.
为什么呢? 因为mysql同一时间可以处理的数据量是固定的,比如20, 但是因为你就占了19, 别人就没法用你项目的Django服务了.
给它处理的工作量不要超出其能力, 比如一下处理了几千条, 一下把mysql打死了, 还得在服务器重启mysql.
0-2 为什么推荐用bulk_create
比如: 要往数据库增加100条数据
可以一条一条增加, 但是每一条sql都要花费这个时间-'与MySQL服务器建立连接与断开连接', 但其实有99次是重复的, 所以干脆只建立一次连接, 一次新增100条, 然后断开连接.
1 批量更新参考
官方文档: https://docs.djangoproject.com/zh-hans/3.1/topics/db/optimization/
2 批量创建 参考 或 百度'django 批量创建 批量新增 看怎么用
models.表名.objects.bulk_create()
官方文档: https://docs.djangoproject.com/zh-hans/2.0/topics/db/optimization/#use-queryset-update-and-delete
注意该方法在当前本版本是否适用.