資料の 英語版 に戻るData Virtualizationで仮想化したテーブルの読み込みを高速化する
Data Virtualizationで仮想化したテーブルの読み込みを高速化する
最終更新: 2024年11月26日
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>', ?, ?)
- コンソールのVirtualizeページに移動すると、Data Virtualizationは新しく追加されたソース スキーマからテーブルをロードします。 「仮想化」ページの動作が変わらない場合は、前の再ロードがまだ進行中であることが原因である可能性があります。 中止するには、以下のコマンドを使用します。
SELECT count(*) FROM DVSYS.RELOADTABLES WHERE CACHED>-100
- これで、「仮想化」ページに表が最初から再ロードされるようになりました。 スキーマ・フィルターを置換する場合は、ステップ 2 を再実行し、コンソールで表を再度リフレッシュすることができます。
フィルターを無効にするには、 < schema> をヌルに設定してステップ 2 を再実行します。