報表連 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
- 怎麼更新BI報表資料?問我就對了
- 為什麼說中國式報表特殊-4、報表的格式與資料
- 分欄報表-物品清單報表實現
- 報表開發工具FineReport報表填報資料校驗
- mysql 表資料量大量查詢慢如何優化MySql優化
- excel表格分頁怎麼重複表頭 excel表怎樣讓每頁都有表頭Excel
- 頁面怎麼做點選表頭排序排序
- 帝國CMS 多少資料分表好?已釋出的資料怎麼分表?
- 水晶報表中文資料
- ActiveReports 報表應用教程 (4)---分欄報表
- ActiveReports 報表應用教程 (6)---分組報表
- 網頁報表研究 (轉)網頁
- 上億資料怎麼玩深度分頁?相容MySQL + ES + MongoDBMySqlMongoDB
- 怎麼檢查報表工具對大資料量報表的支援性?大資料
- BI資料視覺化:不要重複做報表,只需更新資料視覺化
- 報表資料外接計算
- 報表資料庫4031資料庫