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

   注意该方法在当前本版本是否适用.

 

posted @ 2022-08-26 09:55  tslam  阅读(156)  评论(0编辑  收藏  举报