您好,登錄后才能下訂單哦!
MongoDB數據量大報表慢該怎么辦以及怎么做分頁?,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
MongoDB 沒有關系數據庫之類的分頁機制,要實現分頁查詢得硬編碼,可以通過實現 Pageable 接口來自定義分頁類,具體網上有很多介紹。
硬編碼的缺點是實現太復雜了,也不好維護,對報表開發人員的要求有點高。簡單一點的方式是使用支持 MongoDB 分批取數的報表工具,這樣就可以解決大數據量查詢的問題。可以參考這個: 海量清單與分組報表的實現
這里用了兩個異步線程,取數線程通過封裝好 MongoDB 接口返回查詢游標將數據分批緩存到本地,呈現線程根據頁數計算出行數到本地緩存中去獲取數據顯示,這樣可以解決頁碼大時翻頁慢問題。
畫個圖感受一下:
②和③分別是兩個線程,前者取數線程負責從 MongoDB 里分批取數緩存,后者呈現線程負責讀緩存做報表呈現。
這樣做以后,除了報表能異步查詢外,還能支持導出 Excel 和打印。
關于MongoDB數據量大報表慢該怎么辦以及怎么做分頁?問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。