云开发数据库怎么一次添加多条数据?
发布于 7 年前 作者 djin 1028 次浏览 来自 官方Issues

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

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

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

3 回复

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

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

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

回到顶部