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

Откуда: Мск
Сообщений: 5065
andrey_anonymous
Я показал, что, избавившись от предиката (заменив его partition for) в случае PARTITION LIST SINGLE (это важно) удалось привести CBO в состояние, в котором он смог дать адекватную оценку минимаксному скану индекса.
Ты же не будешь утверждать, что минимаксный поиск тождественен IFS/IFS?
При этом возвращение предиката вернуло и проблемы с оценкой (дальше).
Еще раз тебе говорю, partition pruning и ручное указание секции - разные вещи, оцениваются и разбираются оптимизатором по разному. Что даже твой пример изначально и показывает. При ручном указании секции через partition for - может оказаться, что в секции много разных part_id, что очевидно совершенно не эквивалентно указанию part_id=1002
5 фев 19, 05:57    [21801665]     Ответить | Цитировать Сообщить модератору
 Re: Не используется партиционированный индекс при выполнении запроса  [new]
кит северных морей
Member

Откуда: Красноярск
Сообщений: 589
xtender
При ручном указании секции через partition for - может оказаться, что в секции много разных part_id, что очевидно совершенно не эквивалентно указанию part_id=1002
как это возможно в случае с list?
5 фев 19, 06:04    [21801666]     Ответить | Цитировать Сообщить модератору
 Re: Не используется партиционированный индекс при выполнении запроса  [new]
xtender
Member

Откуда: Мск
Сообщений: 5065
Почему при ifs(min/max) возвращает высокую кардинальность уже после сна расскажу с трассой и примерами
5 фев 19, 06:06    [21801667]     Ответить | Цитировать Сообщить модератору
 Re: Не используется партиционированный индекс при выполнении запроса  [new]
xtender
Member

Откуда: Мск
Сообщений: 5065
кит северных морей,

Укажи несколько значений
5 фев 19, 06:07    [21801668]     Ответить | Цитировать Сообщить модератору
 Re: Не используется партиционированный индекс при выполнении запроса  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 17182
xtender
При ручном указании секции через partition for - может оказаться, что в секции много разных part_id, что очевидно совершенно не эквивалентно указанию part_id=1002

Спасибо, КЭП

Ни в одном из тестов я не обнаружил фильтра на part_id => спец. случай.
С part_id = :X может повести себя иначе.

Однако суть примера с partition for - показать, что CBO способен выбрать IFS(MIN/MAX) в условиях ТС, если, конечно, сумеет правильно оценить. А на способность правильно ценить (или вообще рассматривать IFS - 10053 покажет) влияет наличие предиката по part_id.
5 фев 19, 11:52    [21801815]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Oracle Ответить