收藏
回答

云开发数据库怎么一次添加多条数据?

现在开发的小程序在房屋管理软件,用户建立房屋的时候需要添加多个房屋,现在使用for 循环的方法添加

但是100个房间以上时无法进行耗时就超过3s了,一次添加耗时在25-30ms,有没有什么办法可以一次性的添加多条数据

使用异步的方法添加,试验了全部都是异步,1/10同步,其他异步(相当于延时),最后几个异步等方法,在少于大概100条的时候,都是没啥问题的,但是在多于100条的就会出现很多添加失败的情况,完全没法用。只能本地限制房间数量,或者拆分成多个请求。

最后一次编辑于  2019-11-05
回答关注问题邀请回答
收藏

3 个回答

  • 黄力钧
    黄力钧
    2019-11-06

    谢邀。这个业务场景的逻辑应该这样实现:首先你可以把当前这个云函数的超时时间设置成20s,然后按照你的最大并发数需要计算,比如你的最大并发数是10,那就当前10个添加为异步,然后增加一个计数器的配置项,当计数器达到10的时候,就必须同步阻塞,完成一个异步请求,计数器就减1,按照这样的方式,看一下在20s之内可否完成所有的添加;如果还不行,就必须增加数据库最大连接并发数。按照这样的实现逻辑,你的云服务器成本是最低的。

    2019-11-06
    赞同
    回复
  • 老张
    老张
    2019-11-04

    for里不要用同步,采用异步的话,100条记录是同时一起add的吧?

    2019-11-04
    赞同
    回复 8
    • 来伟
      来伟
      2019-11-04
      用了同步,所以耗时很长,一个30ms ,整个就3s,然后超时了,但是如果用异步的话,怎么保证都插入了,插入出错了怎么通知客户端
      2019-11-04
      回复
    • 老张
      老张
      2019-11-04回复来伟
      通知的事是另一个问题了,无非是怎么逻辑的事。反正明白了慢的原因和解决办法了。
      2019-11-04
      回复
    • 来伟
      来伟
      2019-11-04
      准备再加一个查询请求,谢谢
      2019-11-04
      回复
    • 来伟
      来伟
      2019-11-05
      经过验证,用异步的方法也不行,大概多余100的时候就会出现大量的添加失败
      2019-11-05
      回复
    • 老张
      老张
      2019-11-06回复来伟
      同时连接数100的话,需要云套餐专业版1,104元/月。
      2019-11-06
      回复
    查看更多(3)
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-11-04

    貌似之前是可以一次性插入多条记录的

    2019-11-04
    赞同
    回复 4
    • 来伟
      来伟
      2019-11-04
      只在开发工具里看到过多个插入,api里自己加多条是失败
      2019-11-04
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-11-04回复来伟
      工具现在也不行了
      2019-11-04
      回复
    • _人世间
      _人世间
      2019-12-09
      想问奶佬一下,这个一次性添加多条记录有好的方法了吗?求教
      2019-12-09
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-12-09回复_人世间
      导入
      2019-12-09
      回复
登录 后发表内容
问题标签