Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Inmemory join group vs key vector, сравнение скорости  [new]
Pavel_PV
Member

Откуда:
Сообщений: 67
Всем привет.
Хотел сравнить скорость join-а при использовании Inmemory join group или использование key vector. Но никак не выходит заставить оракл использовать join-группу.
Могу лишь сказать, что обычный hash-join факта и измерения с группировкой выполняется за 40сек, через key vector это значение равно 10 сек. Обе таблицы в Inmemory целиком, факт в памяти занимает 253Мб, измерение мелкое.
Наверное больше вопрос, кто смог добиться использования Inmemory join group, может есть какие-либо хитрости? В dba_joingroups всё впорядке, видно использование одного GD_ADDRESS. План целиком выставил как в доке, используя те же хинты + хинт NO_VECTOR_TRANSFORM.
28 фев 19, 07:46    [21821347]     Ответить | Цитировать Сообщить модератору
 Re: Inmemory join group vs key vector, сравнение скорости  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 7820
Pavel_PV
Но никак не выходит заставить оракл использовать join-группу.

Каким образом вы определяете, что Oracle не использует Join-группу?
1 мар 19, 16:44    [21822897]     Ответить | Цитировать Сообщить модератору
 Re: Inmemory join group vs key vector, сравнение скорости  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 7820
Какую версию Oracle Database вы используете?
1 мар 19, 16:45    [21822899]     Ответить | Цитировать Сообщить модератору
 Re: Inmemory join group vs key vector, сравнение скорости  [new]
Pavel_PV
Member

Откуда:
Сообщений: 67
Способ определения Join group-ы описан в доке, а именно приложен скрипт. Если вы знаете другой способ определения буду признателен за информацию.
Версия 12.2, насколько я помню начиная с неё и появились группы.
4 мар 19, 07:13    [21824007]     Ответить | Цитировать Сообщить модератору
 Re: Inmemory join group vs key vector, сравнение скорости  [new]
Shtock
Member

Откуда: СПб
Сообщений: 3042
покажи запрос. оракл очень нежный. ему важно использование простейших типов данных. в 99% чтобы заработал join group надо, чтобы поля были типа Number и важно, чтобы джоин был именно по тем полям, где join группа, без дополнительных условий по этим полям, иначе тоже не взлетит. Также после создания join group надо сделать repopulate inmemory. в общем, штука странная и непредсказуемая. В целом, как и вся inmemory.
4 мар 19, 09:40    [21824061]     Ответить | Цитировать Сообщить модератору
 Re: Inmemory join group vs key vector, сравнение скорости  [new]
Pavel_PV
Member

Откуда:
Сообщений: 67
Да там пример в точности как в доке, только названия таблиц другие. Repopulate IM я не делал, но видел что он перегрузил всё что было в памяти.
Конечно могу попробовать тесткейс сделать на основании своей таблицы, но там всё как в букваре - типы целые, таблица партицирована и всё в памяти. В мониторинге ни байта не читается, всё берётся из памяти от и до.
4 мар 19, 10:05    [21824077]     Ответить | Цитировать Сообщить модератору
 Re: Inmemory join group vs key vector, сравнение скорости  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 7820
Pavel_PV
Да там пример в точности как в доке, только названия таблиц другие.
Ну, значит и работает в точности, как в доке, только названия таблиц другие.
4 мар 19, 12:32    [21824217]     Ответить | Цитировать Сообщить модератору
 Re: Inmemory join group vs key vector, сравнение скорости  [new]
Shtock
Member

Откуда: СПб
Сообщений: 3042
попробуй всё же сделать DBMS_INMEMORY.POPULATE до делания выводов. может помочь.
7 мар 19, 10:40    [21827028]     Ответить | Цитировать Сообщить модератору
 Re: Inmemory join group vs key vector, сравнение скорости  [new]
Shtock
Member

Откуда: СПб
Сообщений: 3042
ну или repopulate для надёжности
7 мар 19, 10:41    [21827033]     Ответить | Цитировать Сообщить модератору
 Re: Inmemory join group vs key vector, сравнение скорости  [new]
Pavel_PV
Member

Откуда:
Сообщений: 67
Shtock, не работает.
Попросил админов глянуть, если будут результаты черкану.
12 мар 19, 06:35    [21829917]     Ответить | Цитировать Сообщить модератору
 Re: Inmemory join group vs key vector, сравнение скорости  [new]
Shtock
Member

Откуда: СПб
Сообщений: 3042
pga хватает? он очень нежно к нему относится, ибо если мало вектора не построятся. там вал ограничений.
12 мар 19, 19:50    [21830679]     Ответить | Цитировать Сообщить модератору
 Re: Inmemory join group vs key vector, сравнение скорости  [new]
Pavel_PV
Member

Откуда:
Сообщений: 67
Да PGA для данного запроса в избытке, можно хоть обе таблицы в PGA запихать по 5 раз.
Но вопрос, а откуда информация по PGA? Не видел в доке информацию о том, что для построения этих векторов нужно PGA.
13 мар 19, 12:43    [21831198]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить