反饋已提交

網絡繁忙

快取資料集

一、概述

  1. FineReport提供了資料集快取功能,是先將資料集查詢的結果快取下來,之後再次用到相同資料集,就無需再次連線資料庫重新進行查詢,可以直接使用之前快取的結果,從而提高報表的展現速度。

  2. 本節內容:

    生產資料集時設定資料集快取。

    快取至記憶體。

    快取至磁碟。

    資料集共享屬性設定。

二、邏輯說明

  1. 資料快取的邏輯:

    假設有多個範本,並且每個範本都有一個名為ds1的資料集。如果每個範本中ds1的SQL語句和資料集引數相同,這些範本將使用相同的快取檔案來複用ds1。

    假設有多個範本,並且每個範本都有一個名為ds1的資料集。如果每個範本中ds1的SQL語句和資料集引數不同,範本將使用不同的快取檔案來複用ds1的結果

  2. 資料集快取的位置: 分為快取至記憶體和快取至磁碟這兩種方式。可以根據資料量的大小進行設定

  3. 註:CPT 範本和 FRM 表單都支援資料集快取。

三、實現步驟

1
新建資料庫查詢資料集。
  1. 新建資料集ds1】。

  2. 使用以下SQL

    SELECT Classno,StudentNO,Name,Sex,Course,Grade

    FROM STSCORE

     order by Grade,Classno ASC。        

1.png

2
快取至記憶體。
  1. 設定方法:勾選【共享資料集】,下拉框選擇【所有記錄都儲存在記憶體中】,如下圖所示。

  2. 設定後的結果:當執行資料查詢時就會將查詢所得資料快取至記憶體中,下次執行此資料集資料查詢時,會直接從記憶體快取中取數。

  3. 優缺點:記憶體的空間資源有限,但取數速度快。

  4. 使用場景:資料量不算太大的報表,較常使用。

2.png

3
快取至磁碟。
  1. 設定方法:勾選共享資料集,點選下拉框選擇快取至磁碟當記錄數大於並設定列數為100,如下圖所示。

  2. 快取結果:快取至磁碟是將資料快取到伺服器的磁碟中,預設是在C:\使用者\使用者名稱\.FineReport100\cache(Windows 作業系統)下。

  3. 設定後的效果

    記錄數預設大於 0 列:查詢的資料全部快取在磁碟中。

    記錄數大於如 100 列:表示查詢的資料前100條是快取到記憶體中,剩餘全部快取至磁碟。

  4. 優缺點:磁碟的空間較大,幾乎沒有資料數量的限制,但取數速度往往很慢。

  5. 使用場景:若是資料量很大的報表,可以將使用頻率高的前 N 頁資料快取在記憶體,剩餘資料快取在磁碟中。

  6. 註:如啟用了磁碟快取,發現系統目錄下沒有 cache 資料夾。不要感到驚訝,資料查詢執行後,若有資料需要快取到磁碟,這個資料夾就會生成。

4
设置数据集缓存的属性。
  1. 管理員登入決策平臺,選擇【管理系統】→【系統管理】→【快取】。

  2. 各設定項的含義:

    快取資料集最大個數:快取容器中最多資料集快取個數,如果快取的資料集超過設定的數目,則伺服器會根據下面的快取原則來選擇快取資料集的去留。

    快取原則:

    最近使用:優先移除最久沒有被訪問的快取;

    最不常使用:優先移除被使用次數最少的快取;

    先進先出:優先移除最早進入的快取。

    最大空閒時間:最後一次訪問快取到快取失效的時間間隔。

    最大生存時間:快取建立到失效的時間間隔。


附件列表


主題: 效能優化
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉