Oracle 如何关闭全局临时表和影响的统计信息

Oracle 如何关闭全局临时表和影响的统计信息,oracle,performance,Oracle,Performance,您好,我在Oracle DB管理方面不是很有经验,我有几个查询开始运行得很慢,都涉及临时表(12c)。我在GTT(Global Temporary Table)上看到了几篇关于禁用统计数据的帖子,但是我没有发现太多,只是按照设置禁用了 exec dbms_scheduler.disable('SYS.GATHER_STATS_JOB'); 我的问题是,是否有任何特定的方法可以只关闭GTT的统计信息,对上述命令有什么负面影响?这将禁用表上的统计信息收集 begin dbms_stats.

您好,我在Oracle DB管理方面不是很有经验,我有几个查询开始运行得很慢,都涉及临时表(12c)。我在
GTT
Global Temporary Table
)上看到了几篇关于禁用统计数据的帖子,但是我没有发现太多,只是按照设置禁用了

exec dbms_scheduler.disable('SYS.GATHER_STATS_JOB');

我的问题是,是否有任何特定的方法可以只关闭GTT的统计信息,对上述命令有什么负面影响?

这将禁用表上的统计信息收集

begin
    dbms_stats.delete_table_stats('TABLE_OWNER', 'TABLE_NAME');
    dbms_stats.lock_table_stats('TABLE_OWNER', 'TABLE_NAME');
end;
/
但是,更好的方法是在表格中填充代表性数据集时收集统计数据:

begin
    dbms_stats.gather_table_stats('TABLE_OWNER', 'TABLE_NAME');
    dbms_stats.lock_table_stats('TABLE_OWNER', 'TABLE_NAME');
end;
/