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

Откуда:
Сообщений: 30
Добрый день.

На сколько я понимаю большее значение optimizer_index_caching дает указание оптимизатору использовать сканирование по индексам. При этом optimizer_index_cost_adj должно быть минимальным. И как можно посмотреть их текущие значения?

Спасибо.
15 ноя 16, 17:01    [19897012]     Ответить | Цитировать Сообщить модератору
 Re: optimizer_index_caching, optimizer_index_cost_adj  [new]
Alexey Zhidkov
Member

Откуда: Москва
Сообщений: 1256
например, так:
SQL> show parameter optimizer_index_caching
15 ноя 16, 17:08    [19897048]     Ответить | Цитировать Сообщить модератору
 Re: optimizer_index_caching, optimizer_index_cost_adj  [new]
ora601
Member

Откуда:
Сообщений: 750
Миша78
Добрый день.

На сколько я понимаю большее значение optimizer_index_caching дает указание оптимизатору использовать сканирование по индексам. При этом optimizer_index_cost_adj должно быть минимальным. И как можно посмотреть их текущие значения?

Спасибо.


Сейчас их в основном оставляют default values.
15 ноя 16, 17:09    [19897057]     Ответить | Цитировать Сообщить модератору
 Re: optimizer_index_caching, optimizer_index_cost_adj  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
ora601
Сейчас их в основном оставляют default values.
Плохая идея оставлять их, равными default values
16 ноя 16, 11:25    [19899220]     Ответить | Цитировать Сообщить модератору
 Re: optimizer_index_caching, optimizer_index_cost_adj  [new]
ora601
Member

Откуда:
Сообщений: 750
ORA__SQL
ora601
Сейчас их в основном оставляют default values.
Плохая идея оставлять их, равными default values


Ну если на Oracle 9 , то конечно.
16 ноя 16, 14:40    [19900249]     Ответить | Цитировать Сообщить модератору
 Re: optimizer_index_caching, optimizer_index_cost_adj  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
ora601
ORA__SQL
пропущено...
Плохая идея оставлять их, равными default values

Ну если на Oracle 9 , то конечно.
Без разницы. От версии не зависит
16 ноя 16, 15:05    [19900350]     Ответить | Цитировать Сообщить модератору
 Re: optimizer_index_caching, optimizer_index_cost_adj  [new]
Ну не скажите
Guest
ORA__SQL
ora601
пропущено...

Ну если на Oracle 9 , то конечно.
Без разницы. От версии не зависит

Как говорится "на вкус и цвет" - не стоит быть столь категоричным и при этом голословным.
16 ноя 16, 15:09    [19900367]     Ответить | Цитировать Сообщить модератору
 Re: optimizer_index_caching, optimizer_index_cost_adj  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18483
ORA__SQL
ora601
пропущено...

Ну если на Oracle 9 , то конечно.
Без разницы. От версии не зависит
Может выдашь пару советов, когда их имеет смысл менять?
При использовании CBO, конечно, и актуальной статистике

PS. Причем, если мне не изменяет память, OPTIMIZER_INDEX_CACHING при CBO игнорируется (по крайней мере, с 10-ки)
17 ноя 16, 02:37    [19901955]     Ответить | Цитировать Сообщить модератору
 Re: optimizer_index_caching, optimizer_index_cost_adj  [new]
Миша78
Member

Откуда:
Сообщений: 30
Спасибо. Пишут, что эффективность работы индексов повышается при optimizer_index_caching=95 и optimizer_index_cost_adj=1 (11g).
17 ноя 16, 11:47    [19902770]     Ответить | Цитировать Сообщить модератору
 Re: optimizer_index_caching, optimizer_index_cost_adj  [new]
Добрый Э - Эх
Guest
Миша78,

эффективность работы индексов от этих параметров не зависит. от этих параметров зависит относительная стоимость индексного доступа в сравнении с табличным сканированием при расчете стоимости вариантов плана запроса.
17 ноя 16, 11:53    [19902816]     Ответить | Цитировать Сообщить модератору
 Re: optimizer_index_caching, optimizer_index_cost_adj  [new]
AlexVin
Member

Откуда: E-burg
Сообщений: 1055
а еще бывают случаи, когда начитавшиеся просторов интернета разработчики забивают гвоздями что-то вроде
optimizer_index_caching=50
optimizer_index_cost_adj=25
при этом бывают случаи, когда разница в стоимости между двумя индексами нивелируется и ораклу становится пофиг, что выбирать, и он выбирает худший
при значениях ближе к дефолтным разница чувствуется)
18 ноя 16, 13:23    [19907730]     Ответить | Цитировать Сообщить модератору
 Re: optimizer_index_caching, optimizer_index_cost_adj  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
Вячеслав Любомудров
ORA__SQL
пропущено...
Без разницы. От версии не зависит
Может выдашь пару советов, когда их имеет смысл менять?
При использовании CBO, конечно, и актуальной статистике
PS. Причем, если мне не изменяет память, OPTIMIZER_INDEX_CACHING при CBO игнорируется (по крайней мере, с 10-ки)

Даже при наличии актуальной статистики, CBO не гарантирует нам оптимальный план. Причем, чем сложнее структуры (например, subpartition, local indexes, join 3-4 таблиц, push pred), то шансы получить желаемый план без пинка CBO уже далеки от 100%.
На уровне всей системы я никогда optimizer_index_cost_adj не менял. Ссыкотно)
А установка optimizer_index_cost_ad < 100 в отдельной сессии для джобов выручало и без риска влияния на всю систему. Причем, я хорошо знал содержимое таблиц и индексный доступ был наилучшим способом получить данные.
18 ноя 16, 13:58    [19907944]     Ответить | Цитировать Сообщить модератору
 Re: optimizer_index_caching, optimizer_index_cost_adj  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18483
Да уж, для этого лучше захинтовать запрос, чем заставлять использовать КАКОЙ-НИБУДЬ индекс (как уже сказали, при уменьшении OPTIMIZER_INDEX_COST_ADJ разница в стоимостях по разным индексам становится неразличимой и оптимизатор выбирает, если мне не изменяет память, индекс, созданный позже, с большим OBJECT_ID)
18 ноя 16, 16:01    [19908696]     Ответить | Цитировать Сообщить модератору
 Re: optimizer_index_caching, optimizer_index_cost_adj  [new]
ora601
Member

Откуда:
Сообщений: 750
ORA__SQL
Вячеслав Любомудров
пропущено...
Может выдашь пару советов, когда их имеет смысл менять?
При использовании CBO, конечно, и актуальной статистике
PS. Причем, если мне не изменяет память, OPTIMIZER_INDEX_CACHING при CBO игнорируется (по крайней мере, с 10-ки)

Даже при наличии актуальной статистики, CBO не гарантирует нам оптимальный план. Причем, чем сложнее структуры (например, subpartition, local indexes, join 3-4 таблиц, push pred), то шансы получить желаемый план без пинка CBO уже далеки от 100%.
На уровне всей системы я никогда optimizer_index_cost_adj не менял. Ссыкотно)
А установка optimizer_index_cost_ad < 100 в отдельной сессии для джобов выручало и без риска влияния на всю систему. Причем, я хорошо знал содержимое таблиц и индексный доступ был наилучшим способом получить данные.


Можно подитожить, что это частный случай, но никак не общая практика.
18 ноя 16, 16:19    [19908819]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить