ttOptSetColStats

このプロシージャは、指定した列の統計を変更します。 このプロシージャを使用すると、TimesTenが自動的に統計を計算するのではなく、アプリケーションによって統計を手動で設定できます。この機能は、データが挿入される前にコマンドを準備したり、表の特性が実行計画の選択に与える影響を調べる場合に役立ちます。このプロシージャによって、COL_STATSシステム表の関連する行が変更されます。

このプロシージャは表にデータが移入される前から使用できるため、基本的な妥当性チェックは実行されますが、指定する値は実際の値とは関係のないものでもかまいません。

必要な権限

このプロシージャには、所有者の場合は権限が必要ありませんが、所有者でない場合はALTER ANY TABLE権限が必要です。

TimesTen ScaleoutおよびTimesTen Classicでの使用

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

TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。

TimesTen Scaleoutでは、このプロシージャはグリッド内のすべての要素に対して実行されます。

関連ビュー

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

構文

ttOptSetColStats('tblName', 'colName', numUniq, minVal,maxVal, 
 invalidate, numNull)

パラメータ

ttOptSetColStatsには、次のパラメータがあります。

パラメータ 説明

tblName

TT_CHAR (61) NOT NULL

アプリケーション表の名前。表の所有者を含めることができます。

表名の指定にシノニムは使用できません。

colName

TT_CHAR (30) NOT NULL

その表内の列の名前。

num_Uniq

TT_INTEGERNOT NULL

列内の一意値の数。

minVal

VARBINARY(1024) NOT NULL

列内の最小値(切り捨てられる可能性あり)。

maxVal

VARBINARY(1024) NOT NULL

列内の最大値(切り捨てられる可能性あり)。

invalidate

TT_INTEGER

0(no)または1(yes)。invalidate1の場合、影響を受ける表を参照するコマンドはすべて、再実行時に再び自動的に準備されます。このようなコマンドには、他のユーザーが準備したコマンドが含まれます。invalidate0の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。

num_Null

TT_INTEGER

列のNULLの総数を指定します。

結果セット

ttOptSetColStatsは結果を返しません。

CALL ttOptSetColStats ('SALLY.ACCTS, 'BALANCE, 400, 
0x00001388, 0x000186A0, 1, 0);

ノート

  • 最小値および最大値をVARBINARYとして指定する必要があります。NULL値を最小値または最大値として指定することはできません。値は、プラットフォーム固有のエンディアン形式で格納されます。

  • 統計は、最小値と最大値の間に均一に配分されている列値の、単一の時間隔として処理されます。