云开发的云数据库真的太慢了,约3200个doc.get请求,20秒竟然都不够用
有一个数据导出的功能,之前因为遇到一个聚合match不知道怎么写的问题(官方文档都不准确也没撤),所以临时就只能傻瓜式写for嵌套循环去一个个doc.get,自己去统计。
过了一周多点,用户量从当初的10个增长到100多个(内部应用),有管理员反馈数据无法导出。
于是开始排查,动手在执行完查询的后面加console.log然后查看云函数日志,根本就没执行到这一句,就已经超过20秒的极限了。
稍微计算一下,101个用户*31天=3131次 doc.get 请求,可求得每次请求的耗时大概是20*1000ms / 3131 = 6.38ms。
于是,肯定不能这么写,这个程序性能太低了,该改用聚合函数来计算。
我这个还是用的免费版资源,5ms 大概是内网的正常延迟。