Сбор статистики - это обслуживание, которое требует баланса в рабочей среде Teradata.Teradata продолжает добиваться успехов в повышении эффективности ведения статистики с каждым выпуском базы данных.Если я правильно помню, одно из последних улучшений состоит в том, чтобы выявлять неиспользуемую статистику или объекты и обходить обновление статистики во время сбора статистики.Но это ресурсоемкая операция для больших таблиц с несколькими наборами статистики.
Частота, с которой вы собираете статистику, будет зависеть от размера таблицы, способа загрузки таблицы и количества статистических данных, существующих в этой таблице.Таблицы, которые «очищаются и заполняются», требуют более частого сбора статистики, чем таблицы, в которые данные добавляются или обновляются на месте.Первый должен иметь статистику, собранную после загрузки.Последнее будет варьироваться в зависимости от объема данных, который изменяется в зависимости от времени с момента последнего сбора статистики.Устаревшая статистика может ввести в заблуждение оптимизатор или заставить оптимизатор отказаться от них в пользу случайной выборки.
Кроме того, чем больше таблица увеличивается в зависимости от размера системы вместе с известной демографией структуры таблицы,способность полагаться на выборочную статистику вместо полной статистики вступает в игру.Возможность использовать правильный размер выборки снижает стоимость сбора статистики.
Нередко мероприятия по обслуживанию статистики планируются в нерабочее время или в выходные дни.Для больших платформ сбор статистики по всей системе может измеряться часами.Как администратор базы данных, я не хотел бы обновлять статистику для большой производственной таблицы в середине дня, если не было запроса, который вызывал катастрофические проблемы (например, горячий AMPing).Даже тогда можно было бы предотвратить выполнение этого запроса, пока статистика не будет собрана в нерабочее время.
Если в вашей среде определены SLA и вы полагаете, что сбор статистики улучшит вашу способность выполнять ваши SLA, тогда необходимо обсудить с DBA лучшее понимание.Исходя из того, что вы описали, ответ DBA неудивителен, потому что они пытаются гарантировать, что пользователи получают ресурсы в течение дня.
Наконец, если у вас есть таблицы, которые загружаются в течение дня, сбор ИТОГОВОЙ статистики имеет низкие накладные расходы и должен быть частью вашей процедуры ETL.Ранее, сбор статистики PARTITION также был желателен, независимо от того, была ли таблица фактически разделена, но я не помню, потерял ли она популярность в последних выпусках (16.xx) Teradata.Статистика PARTITION также была довольно низкой.
Надеюсь, это поможет.