Data Virtualizationで仮想化したテーブルの読み込みを高速化する

最終更新: 2025年3月17日
Data Virtualizationで仮想化したテーブルの読み込みを高速化する

100,000 より大きいデータ・ソースでは、 「仮想化」 > 「表」 ページの表のロードがスローダウンします。 リモートスキーマフィルタを設定し、 リストビュー からフィルタリングされたデータを表示することで、 仮想化ページから表示するデータの範囲を減らすことができます。 リモートスキーマフィルタは、ページに適用されるフィルタとは異なり、ソースで他のスキーマを除外します。これはウェブクライアントにのみ適用されます。

症状

Data Virtualizationで大きなテーブルを持つデータソースをリストまたは取得しようとしましたが、処理に時間がかかりすぎます。

問題の解決

以下の手順に従って、既存の Data Virtualization データソース接続の範囲を縮小するスキーマフィルタを適用してください。

  1. ソース接続が正しくセットアップされていることを確認してください。 Data virtualization > Run SQL で、以下のコマンドを実行します。
    CALL DVSYS.LISTRDBCDETAILS

    すべてのソースが存在すること、および CPOOLSIZECPOOLALL が 0 より大きいことを確認してください。

  2. ステップ 1で取得した新規作成ソースに割り当てられた CID 値を使用して、新規ソースのスキーマ・フィルターをセットアップします。 Data virtualization > SQL Editor で、以下のコマンドを実行します。
    これらの値を独自の値に置き換えます。
    • <cid>
    • <schema>
    • <agent_name>はステップ1 の出力で GDB_NODE とラベル付けしました。
    注: 以下の両方の SQL 呼び出しを実行する必要があります。 表の名前用と列用に 2 つのフィルターが必要です。
    CALL DVSYS.SETCONFIGPROPERTY('RELOADTABLES_ALLTABS_<cid>', 'null,<schema>,null,null', '<agent_name>', ?, ?)
    CALL DVSYS.SETCONFIGPROPERTY('RELOADTABLES_ALLCOLS_<cid>', 'null,<schema>,null,null', '<agent_name>', ?, ?)
  3. Data Virtualization 仮想化する ページにアクセスし、コンソールで ビューページを選択すると、新しく追加されたソース・スキーマからテーブルが読み込まれます。 リスト 「仮想化」ページの動作が変わらない場合は、前の再ロードがまだ進行中であることが原因である可能性があります。 次のコマンドを実行することで中断できます
    SELECT count(*) FROM DVSYS.RELOADTABLES WHERE CACHED>-100
  4. これで、「仮想化」ページに表が最初から再ロードされるようになりました。 スキーマ・フィルターを置換する場合は、ステップ 2 を再実行し、コンソールで表を再度リフレッシュすることができます。

    フィルターを無効にするには、 < schema> をヌルに設定してステップ 2 を再実行します。