Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Сбор статистики по таблице и USER_TABLES  [new]
Alexx_Pol
Member

Откуда:
Сообщений: 73
Доброго времени суток! Мне необходимо заполнить поле num_rows в системной таблице user_tables для определенных таблиц. Я хочу это сделать при помощи сбора статистики по каждой из нужных мне таблиц. Вот только не уверен, какую процедуру из пакета dbms_stats мне использовать. Думаю использовать GATHER_TABLE_STATS. Заранее спасибо.
12 сен 13, 19:32    [14833202]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики по таблице и USER_TABLES  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
используй :)

PS
Ты конечно можешь использовать данные статистики для каких-то своих целей, но ее основное назначение - помощь оптимизатору в построении плана запроса, поэтому статистику обычно собирают по всем таблицам (окромя словаря)

Сообщение было отредактировано: 13 сен 13, 09:18
13 сен 13, 09:16    [14834568]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики по таблице и USER_TABLES  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
Alexx_Pol
Доброго времени суток! Мне необходимо заполнить поле num_rows в системной таблице user_tables для определенных таблиц. Я хочу это сделать при помощи сбора статистики по каждой из нужных мне таблиц. Вот только не уверен, какую процедуру из пакета dbms_stats мне использовать. Думаю использовать GATHER_TABLE_STATS. Заранее спасибо.

если хочешь собирать статистику отдельно по таблицам , тогда конечно же GATHER_TABLE_STATS если по схеме тогда gather_schema_stats но в этом случае собирается статистика по всем таблицам, можно и это исключить с помощю lock_table_stats, но я честно говоря не до конца понял тебя.
13 сен 13, 09:51    [14834745]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики по таблице и USER_TABLES  [new]
xtender
Member

Откуда: Мск
Сообщений: 5704
Ramin Hashimzade
если хочешь собирать статистику отдельно по таблицам , тогда конечно же GATHER_TABLE_STATS если по схеме тогда gather_schema_stats но в этом случае собирается статистика по всем таблицам, можно и это исключить с помощю lock_table_stats, но я честно говоря не до конца понял тебя.
почитай про параметр obj_filter_list
13 сен 13, 11:24    [14835417]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики по таблице и USER_TABLES  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
xtender
Ramin Hashimzade
если хочешь собирать статистику отдельно по таблицам , тогда конечно же GATHER_TABLE_STATS если по схеме тогда gather_schema_stats но в этом случае собирается статистика по всем таблицам, можно и это исключить с помощю lock_table_stats, но я честно говоря не до конца понял тебя.
почитай про параметр obj_filter_list


Да , кстати про этот параметр не слыхал )))
13 сен 13, 11:27    [14835454]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики по таблице и USER_TABLES  [new]
Alexx_Pol
Member

Откуда:
Сообщений: 73
Собрал статистику для нужных мне таблиц следующим образом:
BEGIN
        FOR j IN (SELECT TABLE_NAME FROM  USER_TABLES U WHERE U.TABLE_NAME LIKE '%BLA_BLA_%')
        LOOP
          sys.dbms_stats.GATHER_TABLE_STATS('schema_name',j.table_name);
        END LOOP;
END;

Поле NUM_ROWS заполнилось. Всем спасибо за советы!
13 сен 13, 11:30    [14835479]     Ответить | Цитировать Сообщить модератору
 Re: Сбор статистики по таблице и USER_TABLES  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
Alexx_Pol
Поле NUM_ROWS заполнилось. Всем спасибо за советы!
Покури параметры method_opt, cascade, no_invalidate
13 сен 13, 11:41    [14835615]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить