<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java軟件報表軟件技術博客

    java報表軟件技術匯總 java報表軟件制作 報表軟件新聞
    posts - 355, comments - 100, trackbacks - 0, articles - 3
       :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

    1. 問題描述

    對于大數據量報表,若每次直接從數據庫中查詢數據,不僅增加數據庫服務器的壓力,也極大的影響了取數的速度從而降低了報表的執行速度,為此FineReport提供了數據集緩存與共享功能。

    FineReport可先將其數據集查詢的結果緩存下來,對于緩存下來的數據,再次使用到相同數據集時,無需再次連接數據庫重新查詢數據,直接使用緩存下來的結果,即使用FineReport的數據集共享機制,達到資源復用,減少取數時間從而提高了報表的展現速度。

    2. 數據集緩存

    緩存分為緩存至內存和緩存至磁盤。

    2.1 緩存至內存

    設置方法:默認的就是使用內存緩存即所有數據都保存在內存中,在數據庫查詢窗口可以看到,如下圖:

     

    設置后的效果:當執行數據集時就會在將此記過緩存至內存中,下次在執行此數據集時,會直接從內存緩存中取數。

    優缺點:空間資源有限,但效率很高,取數速度快。

    什么情況使用:一般使用率高,且數據量不算太大的報表,可直接使用內存緩存。

    2.2 緩存至磁盤

    設置方法:點擊下拉框選擇緩存至磁盤當記錄大于,并設置行數,如下:

     

    緩存至磁盤,即將數據緩存到服務器的磁盤中,默認是在C:\Documents and Settings\Administrator\.FineReport8.0\cache(windows操作系統)下。

    注:如啟用了磁盤緩存,發現系統目錄下沒有cache文件夾,不要感到驚訝,雖然激活了磁盤緩存,但不是馬上開始把數據寫到磁盤中,而是會考慮系統的實際運行情況然后再進行處理。

    設置后的效果:記錄數默認大于0行:表示從第0條數據開始,使用磁盤緩存。即只采用磁盤緩存,取出的數據是全部放在磁盤中。

    記錄數大于如1000行:表示取得的數據前1000條是放入內存中,剩余部分緩存至磁盤,當用到1000條以外的數據時,就會從磁盤中讀取數據。

    優缺點:空間資源又大又便宜,幾乎沒有限制;但效率低,取數速度往往很慢。

    什么情況使用:若是數據量很大的報表,如:幾十萬條記錄,可使用緩存至磁盤,設置恰當的行數,避免全存在內存中,導致服務器OutOfMemory內存溢出。

    如行式引擎報表,可以將使用率高的前N頁數據緩存在內存,剩余記錄緩存在磁盤中。

    注:既然兩者都有優缺點,因此需要合理分配內存和磁盤,把那些使用頻率最高的數據盡量放在內存中,從而提高在內存中的命中率。

    3. 數據集共享

    設置了數據集緩存后,只對當前數據集再查詢時才能讀取緩存中的數據,若多個模板包含有相同的數據集(定義的SQL查詢語句相同,傳入的參數值相同,才算相同的數據集),便可以啟用數據集共享,使得他們共享同一個緩存結果,從而節省數據庫資源,并且提高取數和報表的展現速度。

    3.1 設置方法

    在定義數據連接的地方勾選是否共享數據集,如下圖所示:

     

    注:數據集緩存是對當前數據集有效,而共享數據集是對不同模板的相同數據集有效,并且需要將需要共享的數據集都勾選上。

    3.2 數據集共享屬性設置

    我們可以對緩存下的結果進行一些設置。

    進入FR平臺中,選擇管理系統>系統管理>緩存,可以看到數據集共享屬性如下圖所示:

     

    最大活動對象:指在緩存容器中最大放置的緩存對象個數,如果活動對象數超過此數目,則服務器會根據下面的緩存策略來選擇哪些對象留下,哪些被去除

    最大生存時間:指的是緩存對象在容器中存活的最大時間,無論是否活動,一旦超過此時間,此緩存對象就失效,將會被移除

    最大空閑時間:指的是緩存對象在容器中停留不被使用不能超過的時間,也就是空閑的時間,如果空閑的時間超過這個時間,此對象就會被移除。

    注:管理系統>系統管理>緩存,下方的模板緩存屬性設置,是對模板計算的結果進行緩存設置,而上面所說的在數據集處的緩存設置則是對數據進行緩存設置,一個是對結果來說,一個是對于數據來說,要區別開來,這是兩個不同的概念。




    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲人成电影福利在线播放| 成人午夜亚洲精品无码网站| 亚洲福利电影在线观看| 国产精品99久久免费观看| 久久久亚洲精品无码| 国产一级片免费看| 亚洲AV成人片色在线观看高潮| 另类免费视频一区二区在线观看| 国产亚洲AV无码AV男人的天堂 | 亚洲VA中文字幕无码一二三区| 一级成人生活片免费看| 亚洲视频人成在线播放| a级男女仿爱免费视频| 337p日本欧洲亚洲大胆艺术| 五月婷婷在线免费观看| 成人亚洲国产va天堂| 四虎永久精品免费观看| 一级黄色免费网站| 久久亚洲一区二区| 又大又硬又爽又粗又快的视频免费| 亚洲国产精品美女| 国产男女性潮高清免费网站| 一级毛片无遮挡免费全部| 亚洲AV日韩AV永久无码下载| 69视频在线是免费观看| 亚洲乱理伦片在线观看中字| 亚洲国产精品尤物YW在线观看 | 性短视频在线观看免费不卡流畅| 波多野结衣亚洲一级| 亚洲AⅤ无码一区二区三区在线| a毛片免费观看完整| 国产精品亚洲片在线va| 亚洲国产一区二区视频网站| 久久成人a毛片免费观看网站| 亚洲男人的天堂久久精品| 亚洲精品国自产拍在线观看| 久9久9精品免费观看| 国产亚洲欧美在线观看| 亚洲色WWW成人永久网址| 91嫩草国产在线观看免费| 一本到卡二卡三卡免费高|