IMPORT_COLUMN_STATS プロシージャは、列レベルの統計情報をインポートするために使用されます。
構文
DBMS_STATS.IMPORT_COLUMN_STATS (
ownname VARCHAR2,
tabname VARCHAR2,
colname VARCHAR2,
partname VARCHAR2 DEFAULT NULL,
stattab VARCHAR2,
statown VARCHAR2 DEFAULT NULL,
no_invalidate BOOLEAN DEFAULT FALSE,
force BOOLEAN DEFAULT FALSE);
パラメータの説明
| パラメータ | 説明 |
|---|---|
| ownname | ユーザー名。ユーザー名を NULL に設定した場合、現在ログインしているユーザー名がデフォルトで使用されます。 |
| tabname | この列が属するテーブル名。 |
| colname | 列名。 |
| partname | テーブルのパーティション名。 テーブルがパーティション化されており、かつ partname が NULL の場合、グローバルおよびパーティションの列統計情報をインポートします。 |
| stattab | インポートするユーザー統計情報テーブルのテーブル名を指定します。 |
| statown | インポートするユーザー統計情報テーブルのユーザー名を指定します。 |
| no_invalidate | 統計情報収集時にPlan Cacheをフラッシュするかどうか。TRUE に設定すると、統計情報収集時にPlan Cacheをフラッシュしません。 |
| force | 強制的にインポートし、ロック状態を無視するかどうか。デフォルトは FALSE です。TRUE に設定すると、統計情報がロックされていてもインポートされます。 |
例外
| エラーコード | 説明 |
|---|---|
| HY000 |
|
使用方法
このプロシージャを呼び出すには、テーブルの所有者である必要があります。SYS が所有するオブジェクトについては、テーブルの所有者であるか、SYSDBA 権限を持っている必要があります。
例
test_stat から、ユーザー testUser01 の下にある tbl1 テーブルの col1 列の統計情報をインポートします。
obclient> CALL DBMS_STATS.IMPORT_COLUMN_STATS ('testUser01', 'tbl1','col1',null, stattab=>'test_stat',
statown=>'testUser01');
Query OK, 0 rows affected