ttAgingTableLRUConfig

ttAgingTableLRUConfigプロシージャは表当たりの行数に基づいてLeast Recently Used (LRU)エージング属性を設定して、削除する行数を制御します。LRUエージング・ポリシーで定義されている、通常の表とキャッシュ表で使用できます。

LRUエージングを使用すると、最低使用頻度のデータを削除することによって、TimesTenデータベースで使用するメモリーの量を、指定されたしきい値の範囲内に維持できます。指定した表の行、および指定したキャッシュ・グループに適用されたときのキャッシュ・インスタンスに基づいてしきい値に達した場合、データは削除されます。表に行のしきい値を設定することで、指定した表から削除される行数を制限できます。

キャッシュ・グループの場合、LRUエージングはキャッシュ・インスタンス全体のルート表で定義されます。LRUエージングは、明示的にロードされる自動リフレッシュ・キャッシュ・グループを除いて、すべてのキャッシュ・グループ・タイプに対して定義できます。動的キャッシュ・グループには、デフォルトでLRUエージングが定義されます。明示的にロードされるキャッシュ・グループの場合、時間ベースのエージングを使用します。

キャッシュ表の場合、エージング・ポリシーはルート表に定義されますが、キャッシュ・グループのすべての表に適用されます。LRUエージングでは、子表から行が自動的に削除されます。エージング・ポリシーは、CREATE TABLEまたはALTER TABLE SQL文を使用して、エージング・ポリシーが作成または変更されるときに表に定義されます。

LowRowsThresholdHighRowsThresholdの両方が0に設定されている場合、表ベースのLRUエージングはこの表に対して無効になります。この表のLRUエージングは、使用中の永続メモリーしきい値に基づいて切り替えられます。

必要な権限

このプロシージャには、現在の値を問い合せるための権限は必要ありません。現在の値を変更するには、ADMIN権限が必要です。

TimesTen ScaleoutおよびTimesTen Classicでの使用

このプロシージャはTimesTen Classicでサポートされていますが、TimesTen Scaleoutではサポートされません。

関連ビュー

このプロシージャには関連ビューはありません。

構文

ttAgingTableLRUConfig(tblOwner, tblName, [LowRowsThreshHold],
[HighRowsThreshHold], [AgingCycle])

パラメータ

ttAgingTableLRUConfigには、次のオプションのパラメータがあります。

パラメータ 説明

tblOwner

TT_CHAR (31)

TimesTen表またはキャッシュ・グループの所有者。

tblName

TT_CHAR (31)

アプリケーション表の名前。キャッシュ・グループのキャッシュ・ルート表を指定します。

lowRowsThreshold

TT_BIGINT

LRUエージングが非アクティブ化される行の数を設定、表示またはリセットします。LRUエージングは、行数が表のlowRowsThreshold行に達すると停止します。

highRowsThreshold

TT_BIGINT

LRUエージングがアクティブになる行の数を設定、表示またはリセットします。LRUエージングは、行数が表のhighRowsThreshold行に達すると開始されます。

agingCycle

TT_INTEGER

エージングが実行されるサイクル間隔(分単位)を設定、表示またはリセットします。デフォルトは1分です。このプロシージャを使用してエージングのサイクル間隔を変更すると、サイクルは、このプロシージャがコールされる時間に基づいてリセットされます。たとえば、このプロシージャを午後12時にコールし、15分のサイクルを指定すると、エージングは、12時15分、12時30分、12時45分というように実行されます。

サイクルが値0に設定されると、エージングは1秒に一度実行されます。

結果セット

ttAgingTableLRUConfigは次の結果を返します。

説明

tblOwner

TT_CHAR(31) NOT NULL

TimesTen表またはキャッシュ・グループの所有者。

tblName

TT_CHAR(31) NOT NULL

アプリケーション表またはキャッシュ・ルート表の名前。

lowRowsThreshold

TT_BIGINTNOT NULL

LRUエージングが非アクティブ化される行の数。

highRowsThreshold

TT_BIGINTNOT NULL

LRUエージングがアクティブ化される行の数。

agingCycle

TT_INTEGERNOT NULL

エージング・サイクル間の時間に関する現在の設定(分単位)。

次の例では、user1.table1表の行のエージングしきい値の下限しきい値を10K行に、上限しきい値を100K行に設定します。エージング・サイクルは、デフォルトで1分ごとに1回実行するように設定されています。

Command> Call ttAgingTableLRUConfig('user1', 'table1', 10000, 100000);
< USER1, TABLE1, 10000, 100000, 1 >
1 row found.

次の例では、user1.table1表の行のエージングしきい値の下限しきい値を5K行に、上限しきい値を12K行に設定します。エージング・サイクルは、2分ごとに1回実行するように設定されます。

Command> Call ttAgingTableLRUConfig('user1', 'table1', 5000, 12000, 2);
< USER1, TABLE1, 10000, 100000, 0 >
1 row found.

次の例では、下限および上限のしきい値をゼロに設定して、エージングをオフにします。

Command> Call ttAgingTableLRUConfig('user1', 'table1', 0, 0);
< USER1, TABLE1, 0, 0, 1 >
1 row found.

スキーマ所有者および表名のみを使用して組込みプロシージャを実行すると、しきい値設定を取得できます。

Command> Call ttAgingTableLRUConfig('user1', 'table1');
< USER1, TABLE1, 10000, 100000, 1 >
1 row found.

ノート:

このプロシージャの値は、システム障害が発生した後でも維持されます。

パラメータを指定せずにこのプロシージャをコールすると、現在のLRUエージング属性設定が返されます。

関連項目