Как собрать статистику таблицы в oracle?

Пользователь

от rodger.botsford , в категории: SQL , 2 года назад

Как собрать статистику таблицы в oracle?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от fidel , 2 года назад

@rodger.botsford 

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


Синтаксис команды ANALYZE TABLE:

1
ANALYZE TABLE table_name [COMPUTE STATISTICS] [ESTIMATE STATISTICS];


Например, чтобы собрать статистику о таблице "employees" в схеме "hr", вы можете использовать следующую команду:

1
ANALYZE TABLE hr.employees COMPUTE STATISTICS;


Опция COMPUTE STATISTICS заставляет оптимизатор запросов собрать точную статистику о таблице, а опция ESTIMATE STATISTICS позволяет оптимизатору использовать оцененные статистики, которые быстрее собираются, но менее точны.


Обратите внимание, что статистика таблицы также может быть собрана автоматически с помощью пак

Пользователь

от ransom_homenick , год назад

@rodger.botsford 

ета DBMS_STATS, который предоставляет больше возможностей для сбора статистики. Для этого можно использовать процедуру DBMS_STATS.GATHER_TABLE_STATS с указанием имени схемы и имени таблицы. Например:


1


BEGIN DBMS_STATS.GATHER_TABLE_STATS( ownname => 'hr', tabname => 'employees' ); END;


При вызове этой процедуры вы также можете указать дополнительные параметры, такие как степень параллелизма и метод сбора статистики.


Важно отметить, что для сбора статистики требуются права на выполнение соответствующих операций.