? ? 在日常的工作中洒疚,很多時(shí)候都需要導(dǎo)出各種各樣的報(bào)表,但是如果導(dǎo)出的數(shù)據(jù)一旦比較大坯屿,很容易就導(dǎo)致超時(shí)油湖,對(duì)于這種問題,有很多的解決方法愿伴,例如網(wǎng)上說的分批導(dǎo)出肺魁、采用CSV、還有就采用JAVA隔节、甚至是C++和C等等去做這種事情鹅经,這些都是方法,但沒有一一去試過怎诫,只試過采用CSV方法瘾晃,確實(shí)是要快一點(diǎn),但感覺治標(biāo)不治本幻妓,因?yàn)閿?shù)據(jù)量肯定會(huì)越來越多蹦误,所以CSV也是支撐不了太久劫拢。
? ? 在這里,我采用了另外一個(gè)方法强胰,采用異步處理數(shù)據(jù)舱沧;具體的流程如下圖:
具體步驟:
? ? 1、建一張表偶洋,存儲(chǔ)任務(wù)的記錄熟吏;
? ? 2、寫一個(gè)腳本玄窝,讀取表中的請求記錄牵寺,然后對(duì)記錄進(jìn)行數(shù)據(jù)的處理并生成Excel表格,保存到指定的目錄恩脂;
? ? 3帽氓、使用定時(shí)任務(wù),每隔一段時(shí)間去執(zhí)行一下這個(gè)腳本俩块;
? ? 4黎休、完成