SAPфорум.RU
https://sapboard.ru/forum/

Индекс при работе с прозрачной таблицей
https://sapboard.ru/forum/viewtopic.php?f=13&t=94617
Страница 2 из 2

Автор:  LKU [ Вт, апр 04 2017, 12:47 ]
Заголовок сообщения:  Re: Индекс при работе с прозрачной таблицей

ArmAnn, пример я все-таки привел придуманный, на основе прошлого опыта.
Сейчас такой тестовой ситуации под руками нет, чтобы продемонстрировать планы запросов, дату сбора статистики и селективность каждого поля.
Такого типа проблемы встречались неоднократно и я для себя сделал вывод, что оптимизатор работает лучше, когда все индексы на таблице в равных условиях (уж или везде MANDT есть, или везде - нет).

Автор:  LKU [ Вт, апр 04 2017, 12:54 ]
Заголовок сообщения:  Re: Индекс при работе с прозрачной таблицей

А вот предыдущий заход обсуждения этой темы:
viewtopic.php?f=13&t=67478&hilit=MANDT

Вариация моего п.2:
Удав написал(а):
4.Опитмизатор СУБД (в частности Oracle) принимает решение об использовании того или иного индекса в том числе по количеству совпадающих полей в индексе и условиях запроса.
Если в индексе не будет MANDT, то взяться может при прочих равных условиях первичный ключ - для него же не будут удалять MANDT из инденкса ;)

Автор:  ArmAnn [ Вт, апр 04 2017, 15:31 ]
Заголовок сообщения:  Re: Индекс при работе с прозрачной таблицей

Понял, спасибо

Автор:  Kengur [ Пн, апр 10 2017, 12:20 ]
Заголовок сообщения:  Re: Индекс при работе с прозрачной таблицей

CBO даже у Оракла довольно капризен и может менять свою позицию радикально (например при апгрейде, или при увеличении кол-ва записей). Если не хотите попасть на "слетание" индексов, то лучше все поля из условий иметь в наличии и причем в том порядке в котором они идут в условие.

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/