Показать сообщение отдельно
  #5  
Старый 24.09.2009, 22:12
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Статистики оптимизатора



Статистики оптимизатора

Статистики оптимизатора охватывают статистические данные о таблицах, столбцах, индексах, а также системные статистики. Статистики таблиц и индексов хранятся в словаре данных (data dictionary). Такие статистики не отражают данные реального времени. Они предоставляют оптимизатору статистически корректный моментальный снимок сведений о хранении и распределении данных, используемый оптимизатором при принятии решений по выбору доступа к данным.

Собираемые статистики включают:

размер таблицы или индекса в блоках базы данных;
количество строк;
средний размер строки и количество мигрированных или сцепленных строк (только для таблиц);
высота В-дерева и количество удаленных строк в листовых блоках (только для индексов).

Фактически такие характеристики изменяются по мере того, как данные вставляются, удаляются и обновляются. Однако сопровождение статистик распределения данных в реальном времени может оказывать чрезмерно высокое влияние на производительность, поэтому они обновляются периодически путем сбора статистических данных о таблицах и индексах.

Предварительно сконфигурированное задания GATHER_STATS_JOB автоматически собирает статистики оптимизатора. Это задание выполняется в рамках предопределенных временных окон сопровождения один раз в день.

Обычно считается, что для большой сильно изменяющейся таблицы недостаточно собирать статистики один раз в день, если она за сутки возрастает (или уменьшается) на 10%. Для таблиц, подверженным изменениям такого уровня, Oracle рекомендует собирать статистики чаще, так чтобы за период времени после предыдущего сбора статистических данных таблица никогда не изменялась более чем на 10%. Поэтому возникает необходимость ручного сбора статистик.

Статистики могут быть собраны вручную с помощью Enterprise Manager или пакета DBMS STATS, как это показано ниже:



Следует отметить, собранные статистики (например, количество строк) корректно отражают содержимое таблицы на момент сбора статистических данных.
Пакет DBMS_STATS позволяет также собирать вручную статистики для всей схемы и даже базы данных в целом.
__________________
Телеграм чат
Ответить с цитированием