我有个统计分析的业务,需要进行百万次级别的判断两个ObjectId是否相等的操作,发现特别耗时。 我开始用project._id.toString()==incomes[i].projectid.toString()这种方法判断,一百万次判断要耗时13秒左右, 后来改成project._id.equals(incomes[i].projectid)这种方法,耗时也没有明显提升,依然是12~13秒, 最后试了JSON.stringify(project._id)==JSON.stringify(incomes[i].projectid)这种方法,耗时更多,要16秒多。
不知道有没有更快的判断方法?
回复 (6)
H
一百万次判断要耗时13秒
没办法优化一百万次,只能优化判断?
Y
引用 hyifeng一百万次判断要耗时13秒 没办法优化一百万次,只能优化判断?
@hyifeng 对,次数没法优化
P
使用md5判断呢
P
还有就是优化次数 将业务分散 当天只能显示昨天以前的 用定时任务去统计放到另一个统计结果专用的表里 这样就好了
A
我觉得是X-Y Problem了,建议把描述一下上级问题
参与回复
登录后即可参与回复。登录