系统复杂查询功能堵塞整个系统怎么办?

系统中有一个很复杂的功能,是多元检索。
例如,搜索年龄大于等于30,在2018年7月18日收缩压大于140的女性。
检索一次需要70s+,而且整个系统都堵塞。
mongodb是3.x,加了索引,感觉数据库中的优化已经没有上升空间了,现在在考虑代码层优化。

代码是以前的同事开发的,在可以并行的地方用了async.parallel,遍历用了async.filter,所以没有优化的头绪。
请问应该从何处着手优化?

阅读 2k
1 个回答

数据库查询不会造成整个程序阻塞,阻塞原因应该是数据返回后的遍历操作,估计是查询出来的数据量太大了,尽可能在数据库查询时过滤掉不必要的数据,实在太多,可以进行分页查询处理

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题