讀CSV/TXT的報表怎樣做分頁查詢-創(chuàng)新互聯(lián)

主要從事網(wǎng)頁設(shè)計、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機版網(wǎng)站建設(shè))、自適應(yīng)網(wǎng)站建設(shè)、程序開發(fā)、微網(wǎng)站、微信小程序開發(fā)等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)絡(luò)營銷經(jīng)驗,集策劃、開發(fā)、設(shè)計、營銷、管理等多方位專業(yè)化運作于一體,具備承接不同規(guī)模與類型的建設(shè)項目的能力。

今天給大家介紹一下讀CSV/TXT的報表怎樣做分頁查詢。文章的內(nèi)容小編覺得不錯,現(xiàn)在給大家分享一下,覺得有需要的朋友可以了解一下,希望對大家有所幫助,下面跟著小編的思路一起來閱讀吧。

很容易想到的辦法是把文本數(shù)據(jù)灌到 RDB 里,利用數(shù)據(jù)庫分頁機制來做,但這樣做會對數(shù)據(jù)庫產(chǎn)生很大影響(容量和性能),畢竟要分頁查詢的數(shù)據(jù)量不會太小。而且如果 CSV/TXT 數(shù)據(jù)就是從數(shù)據(jù)庫導(dǎo)出去的,那這種方式基本就行不通了。

用 JAVA 硬寫也是一種辦法,就是比較麻煩,除了要能完成過濾、分組等集合運算,還要考慮異步查詢的效率,如果通過行號(要遍歷數(shù)據(jù))確定每頁的查詢范圍,效率就非常低了;通過字節(jié)數(shù)來確定每頁要讀的數(shù)據(jù)會快很多,但要保證每次讀取的數(shù)據(jù)是整條的,如果讀出的最后一條數(shù)據(jù)被截斷,要有“補尾”機制,下一頁再讀的時候又要“去頭”,要考慮的問題比較多。

直接用支持文本分頁查詢的報表工具會比較簡單,比如這里介紹的實現(xiàn)過程: 海量清單與分組報表的實現(xiàn) ,用兩行腳本完成創(chuàng)建文件游標(biāo)和數(shù)據(jù)過濾,報表基于游標(biāo)完成異步分頁呈現(xiàn)。這里用了兩個異步線程,取數(shù)線程通過封裝好的文本接口返回查詢游標(biāo)將數(shù)據(jù)分批緩存到本地,呈現(xiàn)線程根據(jù)頁數(shù)計算出行數(shù)到本地緩存中去獲取數(shù)據(jù)顯示。這里已經(jīng)解決了翻頁效率和去頭補尾的問題。

畫個圖感受一下:
讀CSV/TXT的報表怎樣做分頁查詢
②和③分別是兩個線程,前者取數(shù)線程負(fù)責(zé)從文本里分批取數(shù)緩存,后者呈現(xiàn)線程負(fù)責(zé)讀緩存做報表呈現(xiàn)。

這樣做以后,除了報表能異步查詢外,還支持導(dǎo)出 Excel 和打印,比較方便。

以上就是讀CSV/TXT的報表怎樣做分頁查詢的全部內(nèi)容了,更多與讀CSV/TXT的報表怎樣做分頁查詢相關(guān)的內(nèi)容可以搜索創(chuàng)新互聯(lián)之前的文章或者瀏覽下面的文章進行學(xué)習(xí)哈!相信小編會給大家增添更多知識,希望大家能夠支持一下創(chuàng)新互聯(lián)!

分享標(biāo)題:讀CSV/TXT的報表怎樣做分頁查詢-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://bm7419.com/article48/gosep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、營銷型網(wǎng)站建設(shè)、全網(wǎng)營銷推廣云服務(wù)器、面包屑導(dǎo)航、網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)