概要
巨大なクロス集計表を使用して、パフォーマンスが悪化している事例です。
巨大なクロス集計表とは、行・列に配置されたデータアイテムのメンバー数が非常に多いクロス集計です。
以下のような、HTMLItem(JavaScript)等でヘッダーを固定しているような場合も要注意です。
内容
クロス集計の行・列に大量のメンバーを配置するとレスポンスは悪化します。
例えば「日時」みたいな数万~のメンバーで構成されるデータアイテムを配置した場合、単品のデータアイテムの配置でも、レポートのレンダリングに非常に時間がかかり、レスポンスは厳しくなります。
また、多くのデータアイテムをネストで配置している場合(「製品」「日付」「場所」「会社名」などなど)、レンダリングの時間だけでなく、レポート処理の中で生成される一時キューブを作成する過程で非常に時間がかかります。
下記は、行・列に単品のデータアイテムを置いて、メンバー数を変えてレスポンス測定をしたものですが、メンバー数によってレスポンスタイムが顕著に異なることがわかります。
対応策
以下のような対応をご検討下さい。
・1ページに表示される行数を制限する。
・多数のデータアイテムを使用せず、必要なデータアイテムのみに絞る。
・どうしても大量のデータの表示が必要な場合、クロス集計ではなくリスト表の使用も検討する。