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

Откуда:
Сообщений: 137
This script updates the index and table statistics for the npm database.

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

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

dbms_stats.delete_index_stats(obj_owner,obj_name,null);
dbms_stats.gather_index_stats(obj_owner,obj_name,null,

объясните пожалуйста, и извините если вопрос слишком глуп(((
18 янв 09, 10:51    [6701708]     Ответить | Цитировать Сообщить модератору
 Re: файл апдейта  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
автор
как я понимаю с содержания файла он делает апдлейт индексов, таблиц и схемы

Нет.

Oracle® Database PL/SQL Packages and Types Reference.10g Release 2 (10.2).DBMS_STATS
.
18 янв 09, 11:16    [6701728]     Ответить | Цитировать Сообщить модератору
 Re: файл апдейта  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
Еще интересная статья:
Understanding System Statistics.
Ну и канечно поиск по форуму.
18 янв 09, 11:23    [6701731]     Ответить | Цитировать Сообщить модератору
 Re: файл апдейта  [new]
bubuka
Member

Откуда:
Сообщений: 137
СКАЖИТЕ пожаоуйста, если этот файл выполняться не будет - что я теряю????
18 янв 09, 11:29    [6701734]     Ответить | Цитировать Сообщить модератору
 Re: файл апдейта  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
bubuka,
если не хочешь разбирать доку, то считай что ничего страшного не случится, если скрипт прогонять не будешь.
18 янв 09, 15:36    [6701971]     Ответить | Цитировать Сообщить модератору
 Re: файл апдейта  [new]
Николай Б
Member

Откуда:
Сообщений: 8
не грузите начинающего.

скрипт обновляет статистику которая используется ораклом при определении планов запросов
т.е. при их оптимизации. Если скрипт не толкать, то какое-то время все будет работать как
обычно, но если данные сильно динамичные, то через некоторое время планы могут поехать и при работе с системой н.р. могут начаться тормоза.
18 янв 09, 19:22    [6702263]     Ответить | Цитировать Сообщить модератору
 Re: файл апдейта  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
Николай Б
Если скрипт не толкать, то какое-то время все будет работать как
обычно, но если данные сильно динамичные, то через некоторое время планы могут поехать и при работе с системой н.р. могут начаться тормоза.
Куда это они поедут при неизменной статистике? (dynamic_sampling не берем в расчет)
Скорее, наюборот "не поедут" и не будут оптимальными для нового распределения данных
19 янв 09, 02:54    [6702819]     Ответить | Цитировать Сообщить модератору
 Re: файл апдейта  [new]
wurdu
Member

Откуда: Владивосток
Сообщений: 4441
Вячеслав Любомудров
Куда это они поедут при неизменной статистике? (dynamic_sampling не берем в расчет)
Скорее, наюборот "не поедут" и не будут оптимальными для нового распределения данных
Могут и поехать из-за нового распределения данных. Например, выполняется запрос вида select * from ... where dat < trunc(sysdate) - 1 ... . Если не собрать статистику за предыдущий день, то кардинальность резко уменьшится и план может поехать.
19 янв 09, 03:08    [6702824]     Ответить | Цитировать Сообщить модератору
 Re: файл апдейта  [new]
wurdu
Member

Откуда: Владивосток
Сообщений: 4441
Актуальнее конечно для dat > trunc(sysdate) - 1 :)
19 янв 09, 03:10    [6702826]     Ответить | Цитировать Сообщить модератору
 Re: файл апдейта  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
wurdu
Если не собрать статистику за предыдущий день, то кардинальность резко уменьшится и план может поехать.
Не понял, что куда уменьшится и, самое главное, как об этом узнает оптимизатор ?
19 янв 09, 03:53    [6702839]     Ответить | Цитировать Сообщить модератору
 Re: файл апдейта  [new]
бебе
Guest
Вячеслав Любомудров
Не понял, что куда уменьшится и, самое главное, как об этом узнает оптимизатор ?

ставлю на партишены по дням :)
19 янв 09, 04:30    [6702851]     Ответить | Цитировать Сообщить модератору
 Re: файл апдейта  [new]
wurdu
Member

Откуда: Владивосток
Сообщений: 4441
Вячеслав Любомудров
Не понял, что куда уменьшится и, самое главное, как об этом узнает оптимизатор ?
Оптимизатор при парсинге сравнивает предикат с low_value, high_value в user_tab_col_statistics чтобы определить кардинальность выборки. Если статистика за вчера не собрана, то предикат trunc(sysdate) - 1 не не попадает в этот диапазон и кардинальность резко занижается. Это началось с какой-то версии 10.1, в 9-ке по-моему ему фиолетово было. Понятно, что если запрос уже разобран и ничто его не инвалидирует, то оптимизатор не заметит. Но как только поисходит hard parse, так планы и едут.
19 янв 09, 04:53    [6702858]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить