這篇文章跟大家分析一下“如何檢查報表工具對大數據量報表的支持性”。內容詳細易懂,對“如何檢查報表工具對大數據量報表的支持性”感興趣的朋友可以跟著小編的思路慢慢深入來閱讀一下,希望閱讀后能夠對大家有所幫助。下面跟著小編一起深入學習“如何檢查報表工具對大數據量報表的支持性”的知識吧。
“專業(yè)、務實、高效、創(chuàng)新、把客戶的事當成自己的事”是我們每一個人一直以來堅持追求的企業(yè)文化。 創(chuàng)新互聯(lián)是您可以信賴的網站建設服務商、專業(yè)的互聯(lián)網服務提供商! 專注于網站建設、網站設計、軟件開發(fā)、設計服務業(yè)務。我們始終堅持以客戶需求為導向,結合用戶體驗與視覺傳達,提供有針對性的項目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場,引領市場!大量數據從數據庫里全部查出來,然后再生成報表輸出到 web 端,一般需要很長時間,用戶體驗很差,而且報表一般采用內存計算,全讀入的話也容易爆掉內存。所以大數據量報表呈現(xiàn)時都是采用分頁的方式,盡量快速呈現(xiàn)第一頁,用戶也可以隨意翻頁,每次顯示的一頁數據量比較小,也就不會內存溢出。
大部分報表工具通常是使用數據庫的分頁機制。利用數據庫提供的返回指定行號范圍內記錄的語法,即界面端根據當前頁號計算出行號范圍(每頁顯示固定行數)作為參數拼入 SQL 中,數據庫就會只返回當前頁的記錄,從而實現(xiàn)分頁呈現(xiàn)的效果。
但是這種方式會有兩個問題:一個是向后翻頁時,需要重新計算 sql,等待感會比較強;另一個是可能會因為在翻頁時執(zhí)行數據庫更新操作導致數據不一致。雖然這兩個問題可以通過游標取數方式解決,但是游標是一個單向操作,只能向后翻頁,不能向前翻頁,并不能從根本上解決問題。
潤乾報表則提出了完全不同的大數據報表處理方案,采用兩個異步線程完成取數和呈現(xiàn),取數線程發(fā)出 SQL 后不斷取出數據緩存到本地,由呈現(xiàn)線程從本地緩存中獲取數據進行顯示。這樣,已經取出并緩存的數據就能快速呈現(xiàn),不再有等待感;而取數線程所涉及的 SQL,在數據庫中保持同一個事務,也不會有不一致的問題。同時集文件存儲格式支持跳轉到任意頁訪問,從而極大地改善了用戶體驗。
數據庫系統(tǒng)本身并不直接支持這種機制,需要在報表工具層面做大量工作,潤乾報表因為其內置的獨特計算引擎可以很方便實現(xiàn)這一點,其他報表工具則難以做到。潤乾報表中大報表展現(xiàn)設置很簡單,例如 sql 數據集可以直接在報表屬性里設置大數據集:
然后使用 big 標簽就可以快速展現(xiàn)報表數據了(在展現(xiàn)的同時后臺還在計算中,所以頁碼是會變化的):
導出 excel 時會有進度提醒:
關于如何檢查報表工具對大數據量報表的支持性就分享到這里啦,希望上述內容能夠讓大家有所提升。如果想要學習更多知識,請大家多多留意小編的更新。謝謝大家關注一下創(chuàng)新互聯(lián)網站!