一.概要
1.FineReportは、データセットキャッシュの機能をサポートしています。予めデータセットクエリ結果をキャッシュし、次に同じデータセットを再度使用する時、データベースに再びアクセスする必要はありません。その代わり、直接にキャッシュしておいたデータセットクエリ結果を利用します。このようにすると、大量でータのある帳票のパフォーマンスは大幅に向上します。
2.一般帳票とダッシュボードは両方データセットキャッシュをサポートしています。
3.データセットキャッシュのメカニズムは以下のようになります。
複数のテンプレートに同じ名称のデータセット「ds1」が存在します。
データセット「ds1」のSQL文とデータセットパラメータが一致である場合、これらのテンプレートは同じキャッシュファイルを使用します(ds1完全再利用)。
データセット「ds1」のSQL文とデータセットパラメータが不一致である場合、これらのテンプレートは異なったキャッシュファイルを生成します。
4.キャッシュデータセットの保存パスはキャッシュ方法によって異なっています。メモリ、ディスクに保存することが可能です。実際のデータ量によって保存方法を設定してください。
二.操作手順
1.データベースクエリ新規作成
1.データセットds1を新規作成します。
2.以下のSQL文を使用してください。
SELECT * FROM Orders
2.メモリキャッシュ
1.SQL編集エリアの上部の[共有データセット]にチェックを入れ、[全てのレコードはメモリに保存される]を選択します。
2.このように設定すると、データクエリの結果はメモリに保存します。同じデータクエリを行う場合は直接的にメモリからデータを読み取ります。
3.この機能はデータクエリの結果をメモリに保存するから、処理実行の速度が非常に速いです。
注意:PCのメモリリソースは限られています。ゆえに、この機能はデータ量(レコード数)がそれほど多くない場合に対応しています。
3.ディスクキャッシュ
1.SQL編集エリアの上部の[共有データセット]にチェックを入れ、[ディスクキャッシュ保存条件:記録数>]を選択します。行数を100行に設定します。
2.このように設定すると、データクエリの結果はPCのディスクに保存します。既定の保存パスはC:\Users\ユーザ名\.FineReport100\cacheです。(WindowsOS)
3.この機能はデータクエリの結果をディスクに保存するから、データ量(レコード数)が非常に多い場合に対応しています。
注意:データクエリの結果はPCのディスクに保存するから、読み取り速度がそれほど早くありません。
三.データキャッシュ使用説明
1.ディスクキャッシュに設定した後、C:\Users\ユーザ名\.FineReport100にcacheフォルダが存在しないのは、まだデータクエリを実行してないからです、データクエリ結果が出ると同時に、cacheフォルダが自動的に生成されます。
2.メモリキャッシュの速度優先に対して、ディスクキャッシュはデータ量優先です。
3.ディスクキャッシュに設定した後、レコード数が0‐100の場合、これたのデータはディスクにキャッシュします。レコード数が100より多い場合、冒頭の100のレコードはメモリにキャッシュし、残ったレコードはディスクにキャッシュします。
四.データセットキャッシュ属性
1.システム管理員アカウントで管理ポータルにログインし、[システム]‐[システム管理]‐[キャッシュ]に入ります。
2.各設定項目の意味は以下のようになります。
3.共有の最大個数:キャッシュコンテナ内のデータセットキャッシュ最大数。キャッシュ数が設定された最大個数を超えると、システムは[キャッシュ設定]に基づいて、既存のキャッシュデータセットを扱います。
4.キャッシュ設定の詳細説明は以下のようになります。
略語 | 意味 | 説明 |
---|---|---|
LRU | Least Recently Used | 参照されていない時間が最も長いデータを置換対象にする |
LFU | Least Frequently Used | 置換対象のデータを定める方式のうち、参照された頻度が最も少なかったデータを退避させたり、置換したり削除したりする |
FIFO | First In First Out | 先入れ先出し |
5.キャッシュの時間設定は以下のようになります。
項目 | 説明 |
---|---|
最大アイドル時間 | 前回キャッシュにアクセスする時からキャッシュが無効になる時までの最大時間 |
最大ライフ時間 | キャッシュが作成される時から無効になる時までの最大時間 |