|
Full join работает как left
|
|||
---|---|---|---|
#18+
Здравствуйте. Версия 11.5. Подскажите, пожалуйста, новечку в информиксе. Пишу вроде хорошие запрос с full join, на простых примерах все отлично. Но стоило мне его усложнить и он стал себя вести как left. Вплоть до того, что меняю его на right и записей становится больше (вот так я данные подобрал). Есть какие-нибудь общие практики для борьбы с подобным поведением? Как я понимаю происходит что-то типа проталкивания предиката? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2015, 11:37 |
|
Full join работает как left
|
|||
---|---|---|---|
#18+
Batsall, Посмотрел план - реально в запросе full, а в плане NESTED LOOP JOIN(LEFT OUTER JOIN). Подскажите, что с ним делать?.. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2015, 11:55 |
|
Full join работает как left
|
|||
---|---|---|---|
#18+
Может таки сделать над собой усилие и опубликовать тут запрос и его план ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2015, 22:05 |
|
Full join работает как left
|
|||
---|---|---|---|
#18+
Яковлев Павел, Спасибо за ответ, но это бесполезно. Тут явный косяк оптимизатора. Поменял местами подзапросы, участвующие в фул-джойне - и ситуация исправилась. Переписал условие джойна на полностью тождественное, но написанное по другому - ситуация тоже исправилась. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2015, 11:19 |
|
Full join работает как left
|
|||
---|---|---|---|
#18+
Если даже всё действительно и так, то как минимум интересно было бы посмотреть на "кривой" и "прямой" запросы и их планы. Вдруг всё не так как кажется. Или кто-то мучается с подобным и это ему поможет. Вы же хотели что вам помогли - пострудничайте в обратную сторону. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2015, 22:02 |
|
Full join работает как left
|
|||
---|---|---|---|
#18+
Яковлев Павел, полный текст запроса приводить смысла не вижу, он большой, страшный и к сути дела не относится. Но конструкция такая : Код: plsql 1. 2. 3. 4. 5. 6.
Так вот, в чистом виде в плане, как я уже говорил NESTED LOOP JOIN(LEFT OUTER JOIN). Меняю местами подзапросы во from - в плане появляется full join в две фазы. Меняю условие on на Код: plsql 1.
и тоже full join. Причем когда у меня появился пятый и шестой id в условиях объекдинения, все скатилось обратно в left. У меня почти 10 лет опыта разработки под оракл, так что дурацких ошибок в запросах я уже давно не делаю, тут четкая ошибка оптимизатора. Я лишь хотел спросить у гуру информикса, как вы боретесь с подобным поведением. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2015, 16:41 |
|
Full join работает как left
|
|||
---|---|---|---|
#18+
Batsall, Я не отношу себя к гуру, но из личного опыта: Были случаи, когда запрос работал не так как должен. Помогал сбор статистики по таблицам. Мы собирали в режиме high resolution. Правда было это все аж на семерке. Советую перейти на 12.1. На 11.5 были некоторые непонятки, после перехода на 11.7 другие вылазили. С 12.10 вопросов пока (тук-тук-тук) нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2015, 11:46 |
|
Full join работает как left
|
|||
---|---|---|---|
#18+
BatsallЯ лишь хотел спросить у гуру информикса, как вы боретесь с подобным поведением. Если есть поддержка, есть смысл открыть PMR и попросить идентифицировать дефект. Может статься, что проблема исправлена в последнем фикс-паке 11.50-ветки. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2015, 06:48 |
|
Full join работает как left
|
|||
---|---|---|---|
#18+
DrGonzo, Поддержка говорит: переходите на 11.7. При этом почему-то сильно не рекомендует 12.1. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2015, 16:22 |
|
Full join работает как left
|
|||
---|---|---|---|
#18+
Batsall, Странно. Мы в начале года при переходе с 7.31 на 12.1 очень плотно работали техподдержкой IBM, но ни разу ничего подобного не слышали. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2015, 16:52 |
|
Full join работает как left
|
|||
---|---|---|---|
#18+
BatsallDrGonzo, Поддержка говорит: переходите на 11.7. При этом почему-то сильно не рекомендует 12.1. Это в ответ на PMR про неработающий джоин? По моему опыту, поддержка рекомендует апгрейд только если есть уверенность, что это решит проблему и больше нет других вариантов. Если по каким-то причинам апгрейд для вас в данный момент невозможен, есть все основания требовать, чтобы IBM эту проблему так или иначе решил, т.к. 11.50 все еще поддерживаемая версия, даже если фикс паки перестали выходить. Если вы не на последнем фикс паке, попробуйте 11.50.FC9W3 - может там эта проблема уже решена. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2015, 08:40 |
|
|
start [/forum/topic.php?fid=44&msg=39070942&tid=1606840]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
924ms |
get tp. blocked users: |
2ms |
others: | 61ms |
total: | 1078ms |
0 / 0 |