ヘッダーをスキップ

Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド リリース6.0 B25770-01 |
| 目次 | 索引

前へ | 次へ |

## ttOptUpdateStats

説明

指定した表の統計を更新します。TimesTenは表に格納されているデータを参照して、システム表TBL_STATSおよびCOL_STATSを更新します。表が大きい場合、このプロセスには多少時間がかかる可能性があります。統計は、行が更新されても自動的には計算されません。つまり、このプロシージャをコールすることによって、アプリケーションで明示的に統計を計算する必要があります。

アクセス制御

アクセス制御がTimesTenのインスタンスに対して有効である場合、このプロシージャにはDDL権限が必要です。

構文

    ttOptUpdateStats (tblName, invalidate, option)

パラメータ

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

パラメータ | データ型 | 説明
tblName | Char(61) | アプリケーション表の名前。所有者を含めることができます。
invalidate | INTEGER | 0（いいえ）または1（はい）。invalidateが1の場合、他のユーザーが準備したコマンドを含む、影響を受ける表を参照するすべてのコマンドは、再実行時に自動的に再準備されます。invalidateが0の場合、統計は変更されたとはみなされず、既存のコマンドは再準備されません。 invalidateパラメータはオプションで、デフォルトは0です。
option | INTEGER | 完全な時間隔の統計情報の収集をするかどうかを指定します。このオプションに有効な値は、次のとおりです。 Nullまたは0: 列にTツリー索引が存在する場合に、完全な時間隔統計を収集します。Tツリー索引が存在しない場合は、単一の時間隔統計が収集されます。 1 -完全な時間隔統計を収集しません。単一の時間隔統計のみが収集されます。 詳細は、「注意」を参照してください。

結果セット

ttOptUpdateStatsは結果を返しません。

例

    CALL ttOptUpdateStats ( 'ACCTS', 1 );

    ACCTS表を更新し、ACCTS表を参照するすべてのコマンドを次回の実行時に再準備します。

    CALL ttOptUpdateStats('', 1);

    現在のユーザーのすべての表を更新し、その表に対するコマンドを次回の実行時に再準備します。

    CALL ttOptUpdateStats('ACCTS', 0, 1);

    単一の時間隔統計を収集します。

注意

指定した表名が空の文字列である場合、統計は現在のユーザーのすべての表について更新されます。

完全な時間隔統計を収集する場合、表の列の総数は20以下の時間隔に分割され、各時間隔の配分が統計に記録されます。新しい統計には次の情報が含まれます。

- 時間隔の数
- 列のNULLの総数
- 列のNON NULL UNIQUE値の総数
- 表の行の総数
- 時間隔情報（各時間隔には次の情報が含まれます）

- 最小値
- 最大値
- 最大頻度の値
- 最大頻度の値の数
- 最大頻度の値と異なる値の行の数
- 最大頻度の値以外の一意値の数

完全な時間隔統計を収集するには、データをソートする必要があります。

完全な時間隔統計を選択しない場合、全体の配分を単一の時間隔として処理することにより、統計が収集されます。

関連項目

ttOptEstimateStats
ttOptGetColStats
ttOptSetColStats
ttOptSetColIntvlStats
ttOptSetTblStats
ttOptUpdateStats