eMessage レポートについて、デルタ処理の有効範囲を制限
9.1 eMessage レポート・パックのパフォーマンスが向上しました。これは 1 つには、現行の eMessage システム・テーブルに関連付けられた、新たに導入されたステージング表によるものです。
スキーマの変更について詳しくは、「IBM® eMessage 9.1 System Tables and Data Dictionary 」を参照してください。 eMessage ストアード・プロシージャーの初回セットアップは、以下の新規データベース・スクリプトに依存しています。
*
acer_indexes_DB 名.sql
*
acer_scripts_DB 名.sql
*
acer_tables_DB 名.sql
データベース・スクリプトは、Oracle、IBM® DB2®、および Microsoft SQL Server データベースの場合、Campaign Reports Pack のホーム¥cognos10¥emessage-ddl ディレクトリー内にあります。
このスクリプトで、索引、テーブル、ビュー、およびストアード・プロシージャーがセットアップされます。 ストアード・プロシージャーは、ステージング表にデータを設定するために、メール配信データをリフレッシュします。 バッチ・プロシージャーを定期的に実行して、ステージング表にデータを設定する必要があります。
eMessage ストアード・プロシージャーの初回の実行は、テーブルに入れられているデータの量によっては、完了までに長時間を要する可能性があります。 後続のデルタ処理も、完了までに長時間を要する可能性があります。 ストアード・プロシージャーによって処理されるメール配信インスタンス (コンテナー) の数を制限することにより、処理時間を大幅に削減することができます。
デフォルトでは、データは過去 90 日間について処理されます。 ただし、このデフォルト値は変更できます。 eMessage 用の SQL スクリプトを実行する前または後に、デフォルト値を変更できます。 SQL スクリプトの実行について詳しくは、eMessage レポート用のストアード・プロシージャー・ステージング表および索引の作成を参照してください。
次の例では、使用データベースが Oracle である場合に、処理を過去 30 日に制限するために acer_tables スクリプトに加えることのできる変更について説明しています。
*
現行ビューの定義
CREATE VIEW UARE_MAILING_MASTER AS
(
(SELECT UCC_CONTAINER.CAMPAIGNID,UCC_CONTAINER.CONTAINERID,
substr(UCC_CONTAINERATTR.STRINGVALUE,1,100) AS CAMPAIGN_NAME,
UCC_CONTAINER.CONTAINERNAME AS MAILING_INST,
UCC_CONTAINER.CREATED AS MAILING_CREATED,
UCC_CONTAINER.CONTAINERTYPEID CONTAINERTYPEID,
UCC_CONTAINER.CONTCHANNELTYPEID CONTCHANNELTYPEID
FROM
UCC_CONTAINER,UCC_CONTAINERATTR
WHERE
UCC_CONTAINERATTR.CONTAINERID=UCC_CONTAINER.CONTAINERID AND
UCC_CONTAINERATTR.ATTRIBUTENAME='CampaignName' AND
UCC_CONTAINER.CREATED >= sysdate - 91
)
上述のユース・ケース用に変更したビューの定義 (Oracle データベース)
CREATE VIEW UARE_MAILING_MASTER AS
(
SELECT UCC_CONTAINER.CAMPAIGNID, UCC_CONTAINER.CONTAINERID,
substr(UCC_CONTAINERATTR.STRINGVALUE,1,100) AS CAMPAIGN_NAME,
UCC_CONTAINER.CONTAINERNAME AS MAILING_INST, UCC_CONTAINER.CREATED AS
MAILING_CREATED FROM UCC_CONTAINER,UCC_CONTAINERATTR WHERE
UCC_CONTAINERATTR.CONTAINERID=UCC_CONTAINER.CONTAINERID AND
UCC_CONTAINERATTR.ATTRIBUTENAME='CampaignName'
AND
UCC_CONTAINER.CREATED >= sysdate - 30
)
使用可能なすべてのレポート・データを再表示するには、UARE_MAILING_MASTER ビューを変更してビューから日付フィルターを削除し、すべての Oracle または DB2® の具体化されたビューを再度リフレッシュします。 例えば、上記のビュー作成のサンプルの場合、次の行を削除します。
UCC_CONTAINER.CREATED >= sysdate - 30