Data Virtualizationで仮想化したテーブルの読み込みを高速化する
最終更新: 2025年3月17日
100,000 より大きいデータ・ソースでは、 リストビュー からフィルタリングされたデータを表示することで、 仮想化ページから表示するデータの範囲を減らすことができます。 リモートスキーマフィルタは、ページに適用されるフィルタとは異なり、ソースで他のスキーマを除外します。これはウェブクライアントにのみ適用されます。 ページの表のロードがスローダウンします。 リモートスキーマフィルタを設定し、
症状
Data Virtualizationで大きなテーブルを持つデータソースをリストまたは取得しようとしましたが、処理に時間がかかりすぎます。
問題の解決
以下の手順に従って、既存の Data Virtualization データソース接続の範囲を縮小するスキーマフィルタを適用してください。
- ソース接続が正しくセットアップされていることを確認してください。
CALL DVSYS.LISTRDBCDETAILS
すべてのソースが存在すること、および CPOOLSIZE と CPOOLALL が 0 より大きいことを確認してください。
で、以下のコマンドを実行します。 - ステップ 1で取得した新規作成ソースに割り当てられた CID 値を使用して、新規ソースのスキーマ・フィルターをセットアップします。 で、以下のコマンドを実行します。これらの値を独自の値に置き換えます。
- <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>', ?, ?)
- Data Virtualization 仮想化する ページにアクセスし、コンソールで ビューページを選択すると、新しく追加されたソース・スキーマからテーブルが読み込まれます。 リスト 「仮想化」ページの動作が変わらない場合は、前の再ロードがまだ進行中であることが原因である可能性があります。 次のコマンドを実行することで中断できます
SELECT count(*) FROM DVSYS.RELOADTABLES WHERE CACHED>-100
- これで、「仮想化」ページに表が最初から再ロードされるようになりました。 スキーマ・フィルターを置換する場合は、ステップ 2 を再実行し、コンソールで表を再度リフレッシュすることができます。
フィルターを無効にするには、 < schema> をヌルに設定してステップ 2 を再実行します。
トピックは役に立ちましたか?
0/1000