Как отключить статистику по глобальной временной таблице и влияние

Здравствуйте, я не очень опытен в администрировании Oracle DB, у меня есть несколько запросов, которые начали работать очень медленно и все связаны с временной таблицей (12c). Я вижу несколько сообщений о отключении статистики на GTT (Global Temporary Table), однако я не нашел много, но просто следуя настройке, чтобы отключить

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

У меня вопрос какой-либо конкретный способ отключить статистику ТОЛЬКО для GTT, и как это отрицательно сказывается на приведенной выше команде?

1 ответ

Решение

Это отключает сбор статистики по таблице

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

Другие вопросы по тегам