一.概要
1.応用シーン
大量のデータを処理する場合、プレビューが遅くなり、使いにくくなります。FineReport 11には新計算エンジンが導入されており、新計算エンジンを利用することでグループ別計算、フィルタリング、集計などの計算が非常に速くなります。
2.原理
テンプレートを前処理し、一部のテンプレート設定をSQL文に組み込み、そして一度で必要なデータだけ読み込むことを設定できます。残りの部分は、バックグラウンドで計算されます。
大量のデータがもたらす負担を軽減し、なるべく最初のページの計算をより早くします。
二.適用範囲
注意1:cptテンプレートのみサポートしています。
注意2:データ数が百万以上を超えたテンプレートが新計算エンジンを使用するとロード計算速度が著しく向上します。
1.機能
グリッド型エンジンと比べ、新計算エンジンが新たにサポートしている機能:
セルのフィルタリングと集計
条件属性による行の高さ・列幅、ハイパーリンク
自動調整
セルのヒントで数式を使用
フィルタリング関係のない複数のデータセットを使用
より豊富なデータソースサポート
重複凍結
注意:サポートしているデータソースは、 MySQL、ADS、huaweiHive、CUBRID、Apache Derby、Firebird、H2、SQLite、HSQL、MariaDB、PostgreSQL、SAP HANA、Oracle、Teradata、SQL Server、SQL Server2000、SQL Server2008、Access、ASE、Informix、Ingres、Amazon Redshift、Vertica、Apache Phoenix、Apache Kylin、Impala、GBase 8s、Transwarp、DB2、Sybaseです。
2.サポートしていない機能
バックグラウンドの改ページ読み込み機能の制限で、パラメータパネル以外では、次の機能を利用できません。
JDBC以外のデータソース
ツリーデータ、関連データセット、ストアドプロシージャ
階層座標、SQL数式、[帳票関数]タイプの数式
条件属性における、行の後に改ページ設定とウィジェット設定
フローティング要素、段組み、sheet間計算
改ページプレビューでチャートを閲覧。
セル内の組み込み親子帳票
複数のデータセット間でフィルタリング
モバイル端末
注意1:前述のサポートしていない機能を使用しているテンプレートを実行すると、「unsupported feature」のエラーメッセージが記録されます。テンプレートプレビューが失敗しないように、自動で旧エンジンで計算されます(新計算エンジンによる高速化効果がなくなります)。
注意2:新計算エンジンは、グループ別をサポートしていますが、性能はリストによる表示より劣っています。そのため、グループ別で表示する必要がなければ、一覧表示に設定してください。
3.新エンジンと旧エンジン
旧エンジンと新エンジンの計算ロジックの区別は、以下の表の通りです。
計算ロジック | 旧エンジン | 新エンジン |
---|---|---|
データ列(フィルタリング、フィルタリング、ソート) | データセットのデータをサーバーメモリに読み込み、フィルタリングを実行。 大量データの場合、メモリ不足の可能性がある。 | 設定をSQL文にコンパイルし、データベースで実行より速くなります。 データ量が大きいほど速度向上効果が大きくなる。 |
改ページ計算 | 全量計算 | 必要な部分のみ計算 |
数式解析計算 | 速度が比較的に遅く、パラメータをキャッシュできな | コンパイルでセル関係を計算し、重複計算を避ける パラメータをキャッシュできる |
テンプレートファイル | XML形式で保存 ファイル形式のリソースは文字列に転換される。 大量の外部リソースがある場合、テンプレートの読込みと保存が比較的に遅くなる | zip形式で保存。本来のデータのみが保存 リソースを文字列に転換する必要がない 大量データのテンプレートでも、読込みと保存速度が保証される |
新エンジンでは、ストリーム形式で計算されます。必要な分だけ読み込むので、最初のページをより早く処理できます。新エンジンと旧エンジンの表示速度は、下の画像の通りです。
左は新エンジンで、右は旧エンジンです。