トランスフォーム データのキャッシュ

トランスフォーメーション エディターの [キャッシング] タブでは、いくつかの標準 TDV キャッシング機能を設定できます。TDV はトランスフォームをプロシージャであるかのように扱うため、有効にできるキャッシング機能は、他の TDV プロシージャ リソースで一般的にサポートされている機能です。TDV によるキャッシングについては、「TDV キャッシング」を参照してください。

プロシージャのキャッシング プロセスでは、出力カーソルごとに 1 つのストレージ テーブルを使用し、スカラー出力用に追加のストレージ テーブルを使用します。たとえば、2 つの INTEGER 出力と 2 つの CURSOR 出力があるプロシージャでは、次の 3 つのテーブルを使用します。

スカラーのペアに対して 1 つ
最初のカーソルのために 1 つ
2 番目のカーソル用に 1 つ

プロシージャに入力パラメーターがある場合、キャッシュされた結果は、入力値の一意のセットごとに個別に追跡されます。入力パラメーター値の一意の各セットは、バリアントと呼ばれます。

[キャッシュ ステータス] が [NOT LOADED] から [UP] に変わるには、非 NULL 入力パラメーターを使用するプロシージャ キャッシュに、Studio 以外のクライアント アプリケーションから少なくとも 1 種のバリアントを設定する必要があります。[今すぐリフレッシュ] ボタンを使用しても、ロードされていないキャッシュのステータスは変わりません。プロシージャのキャッシュ構成が正しくても、クライアントがキャッシュをシードするまで、ステータスはロードされていることを示しません。

プロシージャのキャッシュが更新されると、すでにテーブルに存在するすべてのキャッシュ済みバリアントが更新されます。バリアントがまだキャッシュされていない場合は、何も更新されないか、null 入力バリアントのみが更新されます。プロシージャのキャッシュは、Studio から、または RefreshResourceCache プロシージャを使用して更新できます。 (『TDV アプリケーション プログラミング インターフェイス ガイド』を参照してください)。

変換のキャッシュを定義するには

1. トランスフォームを開きます。
2. トランスフォームの入力パラメーター値が 255 文字を超えていないことを確認します。

パラメーターが 255 文字を超える場合、プロシージャ呼び出しはキャッシュされません。代わりに、キャッシングが無効になっているかのように実行されます。TDV は、入力パラメーター値を文字列に変換して一意性を比較することにより、プロシージャのバリアントを追跡します。

3. [キャッシュ] タブを選択します。
4. [キャッシュの作成] をクリックします。
5. キャッシュを定義します。

キャッシュの概念とプロシージャでキャッシュを定義する方法の詳細については、『TDV ユーザー ガイド』を参照してください。

6. トランスフォームを保存します。
7. 必要に応じて、[キャッシュ] パネルの [詳細] セクションで [プロシージャ バリアントの最大数] フィールドを構成して、変換から生成されたバリアント結果セットを保存します。

デフォルトでは、保存されるバリアントの最大数は 32 です。キャッシュが一杯の場合は、最新のバリアントを保存できるように使用後の経過時間が最も長いバリアントがスワップ アウトされます。