Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Используется nested loops outer вместо hash join outer / 16 сообщений из 16, страница 1 из 1
18.05.2017, 20:41
    #39455663
Allbest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используется nested loops outer вместо hash join outer
Господа, голову сломал почти полностью.
Две базы на 12.1.0.2 (но не с точность до bundle и разные платформы)
Один и тот же запрос
Попытка переноса плана с помощью профиля и baseline удачи не приносят. В последнем случае трасса говорит, что не применимо. Причина из трассы не ясна
Прямая простановка хинтов вплоть до глобальных к успеху не ведет
Проверка структуры индексов и задейстованных таблиц никакой разницы не выявляет
Стоимостные характеристики (хотя они здесь, по идее, уже неважны) очень схожи
Сдался, прошу помощи
...
Рейтинг: 0 / 0
18.05.2017, 21:15
    #39455670
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используется nested loops outer вместо hash join outer
Allbest,

Главное что ты не показал ни план с предикатами ни сам запрос.
Нечего упрощать жизнь отвечающим!
...
Рейтинг: 0 / 0
18.05.2017, 21:21
    #39455677
Allbest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используется nested loops outer вместо hash join outer
dbms_photoshop
Начнем с абстракции. Т.е. почему это может быть? Варианты. Не думаю, что их слишком много
...
Рейтинг: 0 / 0
18.05.2017, 21:24
    #39455678
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используется nested loops outer вместо hash join outer
Allbestпочему это может быть? Варианты.
Самое простое - у сервера нет памяти чтобы всосать в неё всю правую таблицу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.05.2017, 21:51
    #39455687
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используется nested loops outer вместо hash join outer
Allbestdbms_photoshop
Начнем с абстракции. Т.е. почему это может быть? Варианты. Не думаю, что их слишком многоЕсли просто потрепаться - это не ко мне.
Для понимания причины - можешь сравнить трассы 10053.
Dimitry SibiryakovAllbestпочему это может быть? Варианты.
Самое простое - у сервера нет памяти чтобы всосать в неё всю правую таблицу.
Про temp tablespace не слышал?
...
Рейтинг: 0 / 0
18.05.2017, 22:02
    #39455692
Allbest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используется nested loops outer вместо hash join outer
Dimitry SibiryakovСамое простое - у сервера нет памяти чтобы всосать в неё всю правую таблицу.

Второе даже большее значение дает по _hash_area_size, Кроме того, как справедливо замечено, в temp space с какой-то версии Оракл благополучном можем вывалиться
авторДля понимания причины - можешь сравнить трассы 10053.
Попробую
...
Рейтинг: 0 / 0
18.05.2017, 22:13
    #39455699
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используется nested loops outer вместо hash join outer
Allbest,

На самом деле я подходил бы двумя путями.

1. Бритва О́ккама
2. Получаем аутлайн для "хорошего" плана через dbms_xplan + format => 'ADVANCED'.
Вставляем аутлайн в запрос и делаем трассу 10053 для идентичного текста запроса на обоих серверах. Сравниваем.
...
Рейтинг: 0 / 0
18.05.2017, 22:26
    #39455703
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используется nested loops outer вместо hash join outer
Allbestс какой-то версииНе с какой-то версии, а изначально by design. HASH JOIN
...
Рейтинг: 0 / 0
18.05.2017, 22:34
    #39455708
Allbest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используется nested loops outer вместо hash join outer
[quot dbms_photoshop]Allbest,
автор1. Бритва О́ккама
Тут и бритва Хэнлона подойдет в качестве "простого" объяснения. Есть варианты :)
авторВставляем аутлайн в запрос и делаем трассу 10053 для идентичного текста запроса на обоих серверах. Сравниваем.
Резонно
...
Рейтинг: 0 / 0
18.05.2017, 22:45
    #39455711
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используется nested loops outer вместо hash join outer
Allbest,

В качестве простого объяснения подойдет, что _hash_join_enabled = false или если запрос большой, то другие параметры, которые косвенно делают HJ невозможным.
В 10053 ты сможешь сравнить весь список параметров принимаемых в рассмотрение оптимизатором на обоих серверах.
...
Рейтинг: 0 / 0
18.05.2017, 23:06
    #39455718
Allbest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используется nested loops outer вместо hash join outer
dbms_photoshopAllbest,
В качестве простого объяснения подойдет, что _hash_join_enabled = false
env оптимизатора идентичны в контексте каждого из запросов на обоих базах. На других уровнях данного запроса hash делается, но не на желаемом. С аутлайном буду посмотреть. Отпишу
...
Рейтинг: 0 / 0
18.05.2017, 23:25
    #39455722
Allbest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используется nested loops outer вместо hash join outer
Подозреваю таки Хэнлона в одном из Оракловых "фиксов" (изначально отметил, что не идентичны сервера с точностью до патча, а кроме того и разные платформы).
Сделал упрощение
По структуре запрос изначально шел с with труляла аs select /*+ MATERIALIZE */ ... select еще много таблиц и хотим хэш с двумя труляля
После того, как была создана настоящая временная таблица на основе create table as select /*+ MATERIALIZE */ (вышеуказанный запрос, а то бишь с соблюдением всех условий по not null и размерностей данных) все заработало
...
Рейтинг: 0 / 0
24.05.2017, 16:39
    #39459028
Allbest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используется nested loops outer вместо hash join outer
22077191 - INSERT ... SELECT STMT ON 12.1 IS MUCH SLOWER THAN ON 11.2
...
Рейтинг: 0 / 0
24.05.2017, 16:48
    #39459039
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используется nested loops outer вместо hash join outer
Allbest22077191 - INSERT ... SELECT STMT ON 12.1 IS MUCH SLOWER THAN ON 11.2Если в запросе нет lateral, то избавляйся от ansi. :)

PS. В трассе 10053 видно "nested lateral view within a lateral view" для любого из вариантов?
...
Рейтинг: 0 / 0
24.05.2017, 17:00
    #39459049
Allbest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используется nested loops outer вместо hash join outer
Да, в трассе есть. Избавление от with помогло, как указал выше
Ошибку локализовал. Отключение фикса на первой из баз воспроизвело проблему второй
Т.е. все так и есть
...
Рейтинг: 0 / 0
24.05.2017, 17:07
    #39459056
Allbest
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Используется nested loops outer вместо hash join outer
dbms_photoshop ansi. :)
Жесть конечно. Они никогда его не победят :))
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Используется nested loops outer вместо hash join outer / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]