Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Отключить индекс хинтом в запросе, но индекс вызывается ...  [new]
еще вопрос
Guest
... в функциях пакета, которые вызываются в основном селекте. пакет завраплен.
Т.е. есть условный запрос:
select paket.funktion(t.id) from kadry t
Пакет paket править не могу, но в нем селект использует индекс index1, а его использовать не нужно.
Еслия я напишу так:
select /*+ NO_INDEX(t index1) */ paket.funktion(t.id) from kadry t
на пакет ведь это не распространится?
Как быть посоветуйте.
22 июл 08, 10:20    [5967120]     Ответить | Цитировать Сообщить модератору
 Re: Отключить индекс хинтом в запросе, но индекс вызывается ...  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18483
Нет
Смотри в сторону outlines
22 июл 08, 10:22    [5967131]     Ответить | Цитировать Сообщить модератору
 Re: Отключить индекс хинтом в запросе, но индекс вызывается ...  [new]
Попрошайка
Guest
Либо создай условия, при которых шагать по индексу будет дороже!
22 июл 08, 10:30    [5967198]     Ответить | Цитировать Сообщить модератору
 Re: Отключить индекс хинтом в запросе, но индекс вызывается ...  [new]
еще вопрос
Guest
Попрошайка
Либо создай условия, при которых шагать по индексу будет дороже!

я представляю как это сделать для индекса в запросе, но как сделать это для индекса внутри ... ?
22 июл 08, 10:50    [5967374]     Ответить | Цитировать Сообщить модератору
 Re: Отключить индекс хинтом в запросе, но индекс вызывается ...  [new]
Попрошайка
Guest
еще вопрос
Попрошайка
Либо создай условия, при которых шагать по индексу будет дороже!

я представляю как это сделать для индекса в запросе, но как сделать это для индекса внутри ... ?


Ну, например, оптимизатор при выборе пути доступа, как вариант может ориентироваться на количество доступа к ресурсу сервера. В частности, например, к подсистеме ввода/вывода. Соответственно, я говорю о том, что можно создать условия, при которых станет возможным дешевле читать таблицу не используя индекс. Ну, а такие вещи корректируются не хинтами. Хинт - это всего лишь призыв к действию в одинаковых условиях. Это мои рассуждения.
22 июл 08, 11:12    [5967543]     Ответить | Цитировать Сообщить модератору
 Re: Отключить индекс хинтом в запросе, но индекс вызывается ...  [new]
Попрошайка
Guest
Рассуждая дальше, я бы отметил следующие два лобовых приема:

1. На время изменения функции в пакете (смотри документацию, если это возможно, конечно) увеличить количество блоков в рамках одного обращения к подсистеме ввода/вывода
2. Имитировать количество строк в таблице = 1, наприемр. Это видимо можно сделать собрав статистику с указанием количества строк 1.
3. Посмотреть на системную статистику - мож там что искусственно подкрутить можно еще...

и т.п. Я бы так думал.
22 июл 08, 11:17    [5967580]     Ответить | Цитировать Сообщить модератору
 Re: Отключить индекс хинтом в запросе, но индекс вызывается ...  [new]
Попрошайка
Guest
На время изменения функции в пакете

ЧИТАТЬ

На время выполнения функции в пакете

Потом отпиши, как решил задачу - будет интерсно посмотреть
22 июл 08, 11:22    [5967627]     Ответить | Цитировать Сообщить модератору
 Re: Отключить индекс хинтом в запросе, но индекс вызывается ...  [new]
YAP
Member

Откуда: Киев
Сообщений: 2116
в 11ж
alter index ... invisible;
22 июл 08, 11:22    [5967636]     Ответить | Цитировать Сообщить модератору
 Re: Отключить индекс хинтом в запросе, но индекс вызывается ...  [new]
Timm
Member

Откуда: Moscow, Ё-burg
Сообщений: 3696
Вьюшка с хинтом?
правда может повлиять негативно на какие-то другие запросы.
22 июл 08, 11:23    [5967641]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить