鍍金池/ 問答/數(shù)據(jù)庫  HTML/ 系統(tǒng)復(fù)雜查詢功能堵塞整個系統(tǒng)怎么辦?

系統(tǒng)復(fù)雜查詢功能堵塞整個系統(tǒng)怎么辦?

系統(tǒng)中有一個很復(fù)雜的功能,是多元檢索。
例如,搜索年齡大于等于30,在2018年7月18日收縮壓大于140的女性。
檢索一次需要70s+,而且整個系統(tǒng)都堵塞。
mongodb是3.x,加了索引,感覺數(shù)據(jù)庫中的優(yōu)化已經(jīng)沒有上升空間了,現(xiàn)在在考慮代碼層優(yōu)化。

代碼是以前的同事開發(fā)的,在可以并行的地方用了async.parallel,遍歷用了async.filter,所以沒有優(yōu)化的頭緒。
請問應(yīng)該從何處著手優(yōu)化?

回答
編輯回答
殘淚

數(shù)據(jù)庫查詢不會造成整個程序阻塞,阻塞原因應(yīng)該是數(shù)據(jù)返回后的遍歷操作,估計是查詢出來的數(shù)據(jù)量太大了,盡可能在數(shù)據(jù)庫查詢時過濾掉不必要的數(shù)據(jù),實在太多,可以進行分頁查詢處理

2017年12月18日 23:29