DeepEdit!

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

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

Различные методы вычисления статистики объектов


Приведенные ниже примеры иллюстрируют различные методы вычисления
статистики объектов:
analyze table lime items
compute statistics /* This calculation computes full statistics for the LINE_ITEMS table and all of its indexes */;
или
analyze table compute statistics

for 

all indexed columns size 254 /* This calculation computes histograms for all columns of all indexes on the LINE_ITEMS table.
The Size 254 is for the number of buckets utilized during the calculation
of the distribution of data */;
или
analyze table LINEJTEMS estimate statistics
sample size 20 percent /* This calculation estimates statistics for the LINE_ITEMS table and all of its indexes using a sample size of 20 percent of the number of rows in the table */;
Замечание
Команда analyze имеет также опцию для анализа конкретного секционирования секционированных таблиц или индексов.

Процедура analyze.jschema в пакете DBMSJU7TIJTY позволяет вычислить статистику для всей схемы в целом. В приведенном ниже примере вычисляется статистика для схемы BENCHMARK с опцией estimate, причем для всех объек­тов используется размер выборки 20%. Символ \ в конце первой строки приве­денного образца кода является просто символом продолжения:
SOL .Plus; Release 8.1.5.0.0 - Production on Fri Nov 3 16:07:33 2000 (c) Copyright 1999 Oracle Corporation. All  rights reserved.
Connected to:
0racle8i Enterprise Edition Release 8.1.5.0.0 - Production
With the Partitioning and Java options
PL/SQL Release 8.1.5.0.0 - Production
SQL> execute dbms_utility.analyze_schema('BENCHMARK' ,\
'estimate', estimate_percent=>20);
- PL/SQL procedure successfully completed,
Новый пакет статистики объектов DBMSSTATS, входящий в состав Oracle8i,
позволяет вычислять статистику с различными опциями. Далее представлен
пример        как следует оценивать статистику только для таблиц, входящих в
схему BENCHMARK, с размером выборки 20% и принимаемой для таблиц по
умолчанию степенью параллелизма. Эта команда не вычисляет статистику для индексов, поскольку каскадный аргумент для процедуры
tics по умолчанию имеет значение false. Если присвоить этому параметру значе­ние true, можно одновременно с вычислением статистики для таблиц вычислять ее и для всех связанных с таблицей индексов. Однако следует отме­тить, что в случае параллельного вычисления индексов для таблиц и индексов, задание любой степени параллелизма при сборе статистики для таблиц не ока­зывает влияния на те же действия для индексов. В том случае, если и индексы анализировать параллельно, мы рекомендуем для обеспечения это­го выдать независимую(ые) команду(ы) gather_index_stats. При окончательном анализе следует убедиться, что вычислена статистика для всех индексов, чтобы
не оказаться с частичной статистикой для своей базы данных.
SQL.Plus: Release 8.1.5.0.0. - Production on Fri Nov 3 16:08:12 2000
(с) Copyright 1999 Oracle Corporation, All rights reserved. Connected to:
0racle8i Enterprise Edition Release 8.1.5.0.0 - Production
With the Partitioning and Java options
PL/SQL Release 8.1.5.0.0 - Production
SQL> execute dbms_stats.gather_schema_statistics('BENCHMARK' ,\
20,  estimate_percent=>20);
PL/SQL procedure successfully completed.

Процедура gather_schema_statistics производит два действия.
Сначала она выполняет операцию export_schema_stats, а затем собирает статистику для схемы. Знать это полезно и важно, так как усилия по реализации новой статистики могут иногда (по неизвестным причинам) вызвать внезапное снижение производительности системы, и на такой случай необходимо иметь план отступления. Частью этого плана должно стать выполнение команды import_schema_stats^fl замены новой статистики на старую. (Зледуеттакже отметить, что команда export_schema_stats облегчает импорт статистики в другие базы данных с использованием команды import_schema_stats. Это имеет значение при создании тестовых сред, которые (по крайней мере, с точки зрения статистики) эквивалентны промышленным. Такая возможность также бывает полезна, если в целевой базе данных нельзя позволить выполнение команд gather_schema_stats или gather_database_stats.

В приведенном ниже сценарии, в котором SQL генерирует SQL, строится но­вый сценарий автоматического выполнения команды analyze для схемы BENCHMARK и всех таблиц, имя которых начинается с буквы А. Предполагает­ся, что этот сценарий будет выполняться пользователем SYS из SQL*Plus. Такой сценарий разумно использовать, если версия вашей базы данных не OracleSi и требуется вычислить статистику для конкретных объектов в схеме, причем спи­сок объектов является динамическим.
 


рольставни лучшие цены в магазине тула. . Новинки 2011 год - легальные порошки. Светящиеся порошки.







jAntivirus