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

问题描述:

您好,我对Oracle数据库管理不是很有经验,我有几个查询开始非常慢地工作,并且都涉及临时表(12c)。我看到几个帖子上GTTGlobal 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; 
/

https://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_stats.htm#i1043993