powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Hash join: в памяти или на диске
6 сообщений из 6, страница 1 из 1
Hash join: в памяти или на диске
    #39857828
Valergrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нибудь точно знает, при каких условиях Оракл при хэш-джойне решает что он не хочет выделять столько памяти одному процессу, и решает выполнять хэш-джойн используя one-pass и диск? Мы говорим про workarea_size_policy = auto, конечно.

Устно я слышал версии "2% от pga_aggregate_target", "5% от pga_memory_allocated". Также есть гипотеза что это возможно параметр global_memory_bound в v$pgastat. У кого-нибудь есть более точная инфа по этому поводу?
...
Рейтинг: 0 / 0
Hash join: в памяти или на диске
    #39857874
Swsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никто не мешает использовать всю work area.
Вопрос только в том, сколько ек доступно
...
Рейтинг: 0 / 0
Hash join: в памяти или на диске
    #39857924
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_SMM_MAX_SIZE ?
...
Рейтинг: 0 / 0
Hash join: в памяти или на диске
    #39857997
Valergrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров_SMM_MAX_SIZE ?

Вполне возможно. Нашел также инфу что _SMM_MAX_SIZE устанавливается _PGA_MAX_SIZE / 2 , а _PGA_MAX_SIZE это 5% от PGA_AGGREGATE_TARGET.
Что дает нам 2.5% от PGA_AGGREGATE_TARGET. Что на продакшене совпадает с global_memory_bound и с моими наблюдениями.

Но это все достаточно обрывочная инфа, по очень старым версиям. Подумал, что вдруг у кого-то есть доступ к более свежей.
...
Рейтинг: 0 / 0
Hash join: в памяти или на диске
    #39858009
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Льюиса достаточно много инфы на этот вопрос -- распределение памяти workareas
В том числе и про оценки optimal/one-pass

PS. Я специально завышаю PGA_AGGREGATE_TARGET (AMM не использую) где-то раза в 3 от общей памяти. Просто, чтоб не сваливалось в *-pass. Теоретически оно должно провоцировать избыточное использование hash-join, но, вроде, по тестам, оно используется не чаще, а сваливается на диск намного реже
...
Рейтинг: 0 / 0
Hash join: в памяти или на диске
    #39858063
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valergrad_PGA_MAX_SIZE это 5% от PGA_AGGREGATE_TARGET.
noparallel
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Hash join: в памяти или на диске
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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