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

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

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

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

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

В качестве простого объяснения подойдет, что _hash_join_enabled = false или если запрос большой, то другие параметры, которые косвенно делают HJ невозможным.
В 10053 ты сможешь сравнить весь список параметров принимаемых в рассмотрение оптимизатором на обоих серверах.
...
Рейтинг: 0 / 0
Используется nested loops outer вместо hash join outer
    #39455718
Allbest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dbms_photoshopAllbest,
В качестве простого объяснения подойдет, что _hash_join_enabled = false
env оптимизатора идентичны в контексте каждого из запросов на обоих базах. На других уровнях данного запроса hash делается, но не на желаемом. С аутлайном буду посмотреть. Отпишу
...
Рейтинг: 0 / 0
Используется nested loops outer вместо hash join outer
    #39455722
Allbest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подозреваю таки Хэнлона в одном из Оракловых "фиксов" (изначально отметил, что не идентичны сервера с точностью до патча, а кроме того и разные платформы).
Сделал упрощение
По структуре запрос изначально шел с with труляла аs select /*+ MATERIALIZE */ ... select еще много таблиц и хотим хэш с двумя труляля
После того, как была создана настоящая временная таблица на основе create table as select /*+ MATERIALIZE */ (вышеуказанный запрос, а то бишь с соблюдением всех условий по not null и размерностей данных) все заработало
...
Рейтинг: 0 / 0
Используется nested loops outer вместо hash join outer
    #39459028
Allbest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
22077191 - INSERT ... SELECT STMT ON 12.1 IS MUCH SLOWER THAN ON 11.2
...
Рейтинг: 0 / 0
Используется nested loops outer вместо hash join outer
    #39459039
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Используется nested loops outer вместо hash join outer
    #39459049
Allbest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, в трассе есть. Избавление от with помогло, как указал выше
Ошибку локализовал. Отключение фикса на первой из баз воспроизвело проблему второй
Т.е. все так и есть
...
Рейтинг: 0 / 0
Используется nested loops outer вместо hash join outer
    #39459056
Allbest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dbms_photoshop ansi. :)
Жесть конечно. Они никогда его не победят :))
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Используется nested loops outer вместо hash join outer
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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