Hint NO_EXPAND его значение при связи обьектов

HOME_X
Дата: 03.12.2009 14:06:05
И еще маленький вопрос по Hintam и связям

The NO_EXPAND hint instructs the optimizer not to consider OR-expansion for queries having OR conditions or IN-lists in the WHERE clause. Usually, the optimizer considers using OR expansion and uses this method if it decides that the cost is lower than not using it. For example:

SELECT /*+ NO_EXPAND */ *
  FROM employees e, departments d
  WHERE e.manager_id = 108
     OR d.department_id = 110;

Надо ли полагать что при таком подходе сначала оцениться условие основаной
таблицы, (ну если она выделена конечно (+) select ..................FROM employees e, departments d
where E.e.manager_id=d.manager_id(+)
)
потом будет попытка связаться с дополнительно
Или связь должна работать в ЛЮБОМ случае ?
andrey_anonymous
Дата: 03.12.2009 14:18:53
Я Вас просто не понимаю. Вы что спросить-то хотели?

...хинт no_expand означает, что оптимизатор не будет "раскрыть" OR и построить план так, словно запрос был в виде
SELECT /*+ NO_EXPAND */ *
  FROM employees e, departments d
  WHERE e.manager_id = 108
union all
     SELECT /*+ NO_EXPAND */ *
  FROM employees e, departments d
  WHERE e.manager_id = 110;

обратный ему хинт - use_concat, который предписывает оптимизатору ровно обратное поведение - попытаться "раскрыть" OR
HOME_X
Дата: 03.12.2009 15:13:22
andrey_anonymous,

Хотел выяснить будет ли строиться связь ?
если значение поля ГЛАВНОЕ базы уже не соответствует условию

Т.е. можно ли провести оценку значение по КОРОТКОМУ и ДЛИН-
НОМУ (если все условия соотвествуют) пути
И только потом осуществить связи между обьектами


Благодарен за диалог !
Elic
Дата: 03.12.2009 15:21:51
HOME_X
Хотел выяснить будет ли строиться связь ?
если значение поля ГЛАВНОЕ базы уже не соответствует условию

Т.е. можно ли провести оценку значение по КОРОТКОМУ и ДЛИН-
НОМУ (если все условия соотвествуют) пути
И только потом осуществить связи между обьектами
Это просто какой-то понос восполённого сознания на не совсем русском языке
Timm
Дата: 03.12.2009 15:30:46
Elic
Это просто какой-то понос восполённого сознания на не совсем русском языке

Я, конечно же, подпишусь под каждым словом, но все же "воспаленного".
Я и ёжик
Дата: 03.12.2009 15:52:18
Timm
Elic
Это просто какой-то понос восполённого сознания на не совсем русском языке

Я, конечно же, подпишусь под каждым словом, но все же "воспаленного".

"Сражающийся с монстрами рискует сам превратиться в монстра." Ф.Ницше
HOME_X
Дата: 03.12.2009 15:52:53
Уважаемый Elic !

Существует масса платформ и приложений, оценочные критерии
(категории), которых различны по сути, но идентичны визуально.

Оценка логического условия по "ДЛИННОМУ" пути в ряде случаев
очень полезна.

Отсюда возникает вопрос - есть ли такие возможности, как именно
они реализованы и как ими управлять ?

Если у Вас есть комментария по существу вопроса буду рад выслушать,
в ином случае прошу не затруднять себе наборкой текста.

Благодарен и признателен !

P.S. - относительно "...совсем русском языке...", прошу извинить
тороплюсь
andrey_anonymous
Дата: 03.12.2009 15:58:49
HOME_X
тороплюсь

Торопиться не надо, при этом Вы теряете драгоценное время, которое вполне могли уделить Performance Tuning Guide-у, откуда узнали бы, что hint - это подсказка оптимизатору, а не альтернативный синтаксис SQL-предложений.
Соответственно, и вопроса о влиянии hint на результат SQL-предложения у Вас бы не возникло.
Если Вы такое влияние где-то сумели обнаружить - напишите в техподдержку oracle, они поправят баги в оптимизаторе.
DВА
Дата: 03.12.2009 16:05:51
[quot HOME_X]
Если у Вас есть комментария по существу вопроса буду рад выслушать,
в ином случае прошу не затруднять себе наборкой текста.
[url=][/url]
щас на вашу травку еще больше народа набежит :)