報表連 MongoDB,資料量大報表慢,怎麼做分頁?
MongoDB 沒有關聯式資料庫之類的分頁機制,要實現分頁查詢得硬編碼,可以透過實現 Pageable 介面來自定義分頁類,具體網上有很多介紹。
硬編碼的缺點是實現太複雜了,也不好維護,對報表開發人員的要求有點高。簡單一點的方式是使用支援 MongoDB 分批取數的報表工具,這樣就可以解決大資料量查詢的問題。可以參考這個:
這裡用了兩個非同步執行緒,取數執行緒透過封裝好 MongoDB 介面返回查詢遊標將資料分批快取到本地,呈現執行緒根據頁數計算出行數到本地快取中去獲取資料顯示,這樣可以解決頁碼大時翻頁慢問題。
畫個圖感受一下:
②和③分別是兩個執行緒,前者取數執行緒負責從 MongoDB 裡分批取數快取,後者呈現執行緒負責讀快取做報表呈現。
這樣做以後,除了報表能非同步查詢外,還能支援匯出 Excel 和列印。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2700071/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料分析報表怎麼做
- 讀 CSV/TXT 的報表怎麼做分頁查詢?
- 報表連 hive,資料量比較大,怎麼分頁查詢?Hive
- 報表怎麼做模糊查詢
- 大資料量報表展現慢容易卡死,怎麼辦?大資料
- 百億級資料分表後怎麼分頁查詢?
- 匯出資料量大的報表記憶體溢位怎麼辦?記憶體溢位
- 報表從資料庫中採集相關資料生成報表,資料太少怎麼辦?資料庫
- 百億級資料 分庫分表 後怎麼分頁查詢?
- 報表資料分庫儲存
- 資料庫怎麼分庫分表資料庫
- 怎麼控制報表的資料許可權
- .NET ORM 分表分庫【到底】怎麼做?ORM
- Excel資料透視表怎麼做 Excel資料透視表技巧Excel
- 報表怎麼動態選擇資料來源
- 透視表excel透視表怎麼做 excel的資料透視表怎麼弄Excel
- 大資料量的報表如何快速分頁呈現?大資料
- mysql 表資料量大量查詢慢如何優化MySql優化
- 怎麼做手機報表?
- excel表格分頁怎麼重複表頭 excel表怎樣讓每頁都有表頭Excel
- 實現報表資料分庫儲存
- 頁面怎麼做點選表頭排序排序
- 帝國CMS 多少資料分表好?已釋出的資料怎麼分表?
- 怎麼更新BI報表資料?問我就對了
- 上億資料怎麼玩深度分頁?相容MySQL + ES + MongoDBMySqlMongoDB
- BI資料視覺化:不要重複做報表,只需更新資料視覺化
- Stimulsoft Reports報表使用者手冊:資料帶中的交叉表報表
- 報表資料外接計算
- 如何將報表與Lazarus中FastReport的資料連線?AST
- 加班做報表被嘲低效!快用大資料分析工具大資料
- 轉行資料分析,一定要學會做BI報表
- 大資料集報表點選表頭排序大資料排序
- 怎麼檢查報表工具對大資料量報表的支援性?大資料
- 怎麼製作動態列報表(非常規交叉表)
- 資料庫以後可能換,現在報表怎麼做好一點?資料庫
- 報表有 100 多萬條資料,展現太慢了怎麼辦?
- 如何在分組報表中實現組內資料補空行及組內頁碼
- 報表的多行業應用!用工具做報表省了我不少事...行業