18.07.2005, 14:12 | #1 |
Участник
|
База на Oracle : убить index hint
Есть мнение, что указание в запросах директивы index hint при использовании Oracle в качестве БД не эффективно. Oracle имеет эффективный оптимизатор запросов и точное указание индекса не позволяет Oracle-у использовать его, строго заставляя его использовать явно указанный индекс. Есть идея во всех классах убрать index hint, повысит ли это производительность?
|
|
18.07.2005, 14:15 | #2 |
Участник
|
http://axapta.mazzy.ru/lib/querytuning/
http://axapta.mazzy.ru/lib/indexhints/ Если база маленькая, то хинты только сбивают с толку СУБД. Для Оракла хинты работают менее эффективно, чем для МС СКЛ, поскольку Оракл поинтеллектуальнее... |
|
|
За это сообщение автора поблагодарили: Logger (4). |
18.07.2005, 14:25 | #3 |
Участник
|
Mazzy, спасибо за оперативный ответ! Хотелось бы всё же обсудить перспективность массового удаления всех индексхинтов из базы на Oracle.
|
|
18.07.2005, 14:31 | #4 |
Участник
|
Цитата:
Изначально опубликовано YaHooka
Mazzy, спасибо за оперативный ответ! Хотелось бы всё же обсудить перспективность массового удаления всех индексхинтов из базы на Oracle. Включите мониторинг запросов и правьте только те, которые требуют правки. По-моему стоит предельно осторожно относится к любому бездумному (массовому) изменению кода. |
|
18.07.2005, 14:44 | #5 |
Шаман форума
|
Эффекта полного отключения хинтов можно добиться без правки кода при помощи конфигурационной утилиты.
|
|
18.07.2005, 14:47 | #6 |
Участник
|
Речь не идет о бессмысленном изменениии, как раз наоборот. Учивая тот факт, что база на Oracle и что уже несколько раз были затыки именно с индексхинтами, было бы логично за раз решить и все будущие проблемы.
Я тоже не сторонник бездумного изменения кода и понимаю что массовое изменение может повлечь за собой негативные последствия. Как раз хотелось бы услышать какие потенциальные опасности в себе содержит подобное решение. Возможно кто-то уже делал что-то подобное, хотелось бы услышать и их. |
|
18.07.2005, 14:49 | #7 |
Модератор
|
Цитата:
Изначально опубликовано mazzy
Для Оракла хинты работают менее эффективно, чем для МС СКЛ, поскольку Оракл поинтеллектуальнее... Конструктив: - YaHooka, попробуйте отключить хинты через конфигурационную утилиту (на тестовом экземпляре). Это самый дешевый по затратам, быстрый и безопасный вариант. Выковыривать хинты из кода для того, чтобы проверить, не станет ли лучше - себе дороже. Хотя, если время есть, пуркуа бы и не па, как говорится А обсуждения без указания кучи деталей (версии СУБД и аксапты, модулей, количества, распределения данных, модификаций и пр.) боюсь, не получится. А главное, закончится все опять выяснением того, кто сильнее - кит или слон |
|
18.07.2005, 14:49 | #8 |
Участник
|
Цитата:
Эффекта полного отключения хинтов можно добиться без правки кода при помощи конфигурационной утилиты.
|
|
18.07.2005, 14:54 | #9 |
Участник
|
Цитата:
Изначально опубликовано Vadik
а вот птичку нашу попрошу не обижать Конструктив: ... А главное, закончится все опять выяснением того, кто сильнее - кит или слон |
|
18.07.2005, 14:58 | #10 |
Участник
|
Цитата:
Изначально опубликовано YaHooka
Не расскажите подробнее как? |
|
18.07.2005, 15:02 | #11 |
Модератор
|
Цитата:
Изначально опубликовано MironovI
Действительно, нашел такой Hint flag в утилите.. спрашивается - если бездумное с одной стороны отключение хинтов не дает эффекта, то зачем и кто и когда это поле в утилиту все-таки завел? ) См. ссылки выше |
|
18.07.2005, 19:12 | #12 |
Шаман форума
|
См. доку по конфигурационной утилите - вроде бы прилагается к Акзапте в виде chm-файла.
|
|
19.07.2005, 11:13 | #13 |
Участник
|
Спасибо за ответы, будем пробовать...
|
|