您好,登錄后才能下訂單哦!
這篇文章跟大家分析一下“如何檢查報表工具對大數(shù)據(jù)量報表的支持性”。內(nèi)容詳細(xì)易懂,對“如何檢查報表工具對大數(shù)據(jù)量報表的支持性”感興趣的朋友可以跟著小編的思路慢慢深入來閱讀一下,希望閱讀后能夠?qū)Υ蠹矣兴鶐椭O旅娓【幰黄鹕钊雽W(xué)習(xí)“如何檢查報表工具對大數(shù)據(jù)量報表的支持性”的知識吧。
大量數(shù)據(jù)從數(shù)據(jù)庫里全部查出來,然后再生成報表輸出到 web 端,一般需要很長時間,用戶體驗(yàn)很差,而且報表一般采用內(nèi)存計(jì)算,全讀入的話也容易爆掉內(nèi)存。所以大數(shù)據(jù)量報表呈現(xiàn)時都是采用分頁的方式,盡量快速呈現(xiàn)第一頁,用戶也可以隨意翻頁,每次顯示的一頁數(shù)據(jù)量比較小,也就不會內(nèi)存溢出。
大部分報表工具通常是使用數(shù)據(jù)庫的分頁機(jī)制。利用數(shù)據(jù)庫提供的返回指定行號范圍內(nèi)記錄的語法,即界面端根據(jù)當(dāng)前頁號計(jì)算出行號范圍(每頁顯示固定行數(shù))作為參數(shù)拼入 SQL 中,數(shù)據(jù)庫就會只返回當(dāng)前頁的記錄,從而實(shí)現(xiàn)分頁呈現(xiàn)的效果。
但是這種方式會有兩個問題:一個是向后翻頁時,需要重新計(jì)算 sql,等待感會比較強(qiáng);另一個是可能會因?yàn)樵诜摃r執(zhí)行數(shù)據(jù)庫更新操作導(dǎo)致數(shù)據(jù)不一致。雖然這兩個問題可以通過游標(biāo)取數(shù)方式解決,但是游標(biāo)是一個單向操作,只能向后翻頁,不能向前翻頁,并不能從根本上解決問題。
潤乾報表則提出了完全不同的大數(shù)據(jù)報表處理方案,采用兩個異步線程完成取數(shù)和呈現(xiàn),取數(shù)線程發(fā)出 SQL 后不斷取出數(shù)據(jù)緩存到本地,由呈現(xiàn)線程從本地緩存中獲取數(shù)據(jù)進(jìn)行顯示。這樣,已經(jīng)取出并緩存的數(shù)據(jù)就能快速呈現(xiàn),不再有等待感;而取數(shù)線程所涉及的 SQL,在數(shù)據(jù)庫中保持同一個事務(wù),也不會有不一致的問題。同時集文件存儲格式支持跳轉(zhuǎn)到任意頁訪問,從而極大地改善了用戶體驗(yàn)。
數(shù)據(jù)庫系統(tǒng)本身并不直接支持這種機(jī)制,需要在報表工具層面做大量工作,潤乾報表因?yàn)槠鋬?nèi)置的獨(dú)特計(jì)算引擎可以很方便實(shí)現(xiàn)這一點(diǎn),其他報表工具則難以做到。潤乾報表中大報表展現(xiàn)設(shè)置很簡單,例如 sql 數(shù)據(jù)集可以直接在報表屬性里設(shè)置大數(shù)據(jù)集:
然后使用 big 標(biāo)簽就可以快速展現(xiàn)報表數(shù)據(jù)了(在展現(xiàn)的同時后臺還在計(jì)算中,所以頁碼是會變化的):
導(dǎo)出 excel 時會有進(jìn)度提醒:
關(guān)于如何檢查報表工具對大數(shù)據(jù)量報表的支持性就分享到這里啦,希望上述內(nèi)容能夠讓大家有所提升。如果想要學(xué)習(xí)更多知識,請大家多多留意小編的更新。謝謝大家關(guān)注一下億速云網(wǎng)站!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。