DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Вычисление статистики объектов


В этом разделе читатель познакомится с большинством аспектов и вопросов, с которыми ему придется иметь дело при сборе статистики объектов. Мы обсу­дим, почему так важно вычисление статистики, каким образом, как долго и с ка­кой частотой собирать ее, а также все остальные моменты, к возникновению которых нужно быть готовыми.

Зачем требуется собирать статистику?
Вычисление статистики уровня объектов является основной администра­тивной функцией АБД, связанной с производительностью системы, и именно статистика управляет поведением стоимостного оптимизатора. Если не вычис­лять статистику объектов, процесс определения стоимости операторов SQL вы­полняется  Oracle  с  использованием  некоторых  внутренних жестко
определенных значений.

Как вычислять статистику?

Чтобы определить значения статистики, используется команда analyze. До­статочно выполнить для таблицы эту команду, и статистика будет вычислена не только для самой таблицы, но и для всех связанных с ее столбцами индексов. Значения статистики могут быть найдены двумя способами: либо оценкой ста­тистики на основании образца какого-то размера, либо вычислением статисти­ки для всего объекта. Предпочтительным способом для баз данных с очень большими таблицами или для сред, в которых нельзя выделить время и ресурсы для выполнения вычисления статистики, является оценка.
Предупреждение
Не рекомендуется генерировать статистику для пользователя SYS, поскольку в этом случае на нее ложится вся ответственность за взаимные блокировки базы данных во время этого процесса. Кроме того, она же отвечает за возможное снижение производительности, связанное с накоплением статистики для объектов пользователя SYS. ■
В        для выполнения и дополнения всех операций, поддерживаемых
командой analyze, предлагается пакет под названием DBMSSTATS. В число под­держивающих операций входит подготовка к сбору статистики, усовершенство­ванное вычисление статистики (параллельный сбор), перенос данных статистики из словаря данных в собственные статистические таблицы пользо­вателей и получение информации о статистике. В зависимости от типа приме­няемой среды пользователь может пожелать для экспериментов с различными коллекциями статистики и планами выполнения использовать свои собствен­ные статистические таблицы. Эти таблицы будут размещены не в словаре дан­ных и поэтому не смогут влиять на работу стоимостного оптимизатора. При этом система не подвергается риску при постоянной подмене статистики из словаря и связанного с этим возможного снижения производительности.

Предупреждение Непосредственное использование пакета DBMS_STATS не поддерживается и не рекомендуется для баз данныхOracle Application. Oracle Apps поддерживает свой собственный статистический пакет, который обращается к DBMS_STATS и, кроме того, обновляет важную статистику в Application Object Library Schema.
Для того чтобы в OradeHi планы выполнения операторов SQL оставались статическими, они также могут быть стабилизированы. Эта концепция называ­

ется стабильность плана. 

Она особенно подходит для сред, в которых нельзя до­пустить изменения планов выполнения приложений при изменении версии базы данных, параметров инициализации, объемов данных в таблицах и т. п. Oracle поддерживает стабильность планов, используя 

хранимые структуры, 

по­зволяющие контролировать планы выполнения приложений.
Пакет DBMSSTATS и функциональные возможности Stored Outlines (храни­мые структуры) содержат большое количество деталей, обсуждение которых выходит за рамки этой книги. Дополнительную информацию о различных осо­бенностях и синтаксисе упомянутых выше возможностей можно найти в разделе "Настройка Oracle8i" документации по Oracle.
 


Заказы пошли на предприятия металлоконструкций.







jAntivirus