var users = [ ]
var qq = 1 //qq是我进行数据获取来源切换的开关
if( qq == 0){
users = await Feature.find()
}else{
users = require('./data')
}
function f1(x){
x....//计算规则
}
f1(users) //运行函数,开始后续计算
我有100条测试用户数据,需要进行后续运算。
如上所示,有两种方法获取数据。第一个方法是从数据库中读取100条用户数据,第二个是将这100条用户数据存在data.js中,通过require的方式得到。两种方式的数据都是同样格式和数量的。
神奇的地方来了,后续的数据处理代码相同,但是用第一种方式获得的数据,后续计算处理的时长为12秒,但是第二种方式得到的数据,后续计算处理的时长仅需要2.7秒。
不同来源的数据对效率有影响吗?如果有,怎么提升第一种方式的效率呢?因为用户数据肯定得从数据库中获取呀。谢谢。
补充:答案区提到,是不是数据获取的时间差异,我这里截了个图,单独拆开数据获取的时间。
js的计算速度应该都是一样的,有可能是后端接口慢,你看一下后端数据返回的时间。如果是后端的问题,就要优化接口了
这个和计算没啥问题 是你从数据库读取的时间太长了 检查一下数据库的网络是不是慢