IMPORT_TABLE_STATS
IMPORT_TABLE_STATS 过程用于导入表级的统计信息。
语法
DBMS_STATS.IMPORT_TABLE_STATS (
ownname VARCHAR2,
tabname VARCHAR2,
partname VARCHAR2 DEFAULT NULL,
stattab VARCHAR2,
cascade BOOLEAN DEFAULT TRUE,
statown VARCHAR2 DEFAULT NULL,
no_invalidate BOOLEAN DEFAULT FALSE,
force BOOLEAN DEFAULT FALSE
);
参数说明
| 参数 | 解释 |
|---|---|
| ownname | 用户名。如果用户名设置为 NULL,会默认使用当前登录的用户名。 |
| tabname | 表名称。 |
| partname | 表分区的名称。如果表已分区且 partname 为 NULL,则导入全局和分区列统计信息 |
| stattab | 指定导入的用户统计信息表的表名。 |
| cascade | 如果为 TRUE,则还导出此表的列和索引统计信息。 |
| statown | 指定导入的用户统计信息表的用户名。 |
| no_invalidate | 收集统计信息时是否 刷 Plan Cache。设置为 TRUE 表示收集统计信息时不刷 Plan Cache。 |
| force | 是否强制导入,并忽略锁的状态。默认为 FALSE。如果设置为 TRUE,即使统计信息被锁定,也会导入统计信息。 |
异常情况
| 错误码 | 描述 |
|---|---|
| HY000 |
|
使用说明
-
要调用此过程,您必须是表的所有者。
-
不支持跨不同字符集的数据库导出或导入统计信息。
示例
从用户 testUser02 的 test_stat 表中导入用户 testUser01 的 tbl1 表的统计信息。
CALL DBMS_STATS.CREATE_STAT_TABLE('testUser02', 'test_stat');
Query OK, 0 rows affected
CALL DBMS_STATS.IMPORT_TABLE_STATS('testUser01', 'tbl1', stattab=>'test_stat', statown=>'testUser02');
Query OK, 0 rows affected