powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / MDC+index ANDing
4 сообщений из 4, страница 1 из 1
MDC+index ANDing
    #37002277
db2test
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Есть тестовый запрос :
Код: plaintext
1.
2.
3.
4.
5.
select bukrs, gjahr, perio, count(*), sum(fkbtr)
from db2inst1.testtab32mdc
where bukrs='1100' and gjahr='2010' and perio='003'
group by bukrs, gjahr, perio
order by bukrs, gjahr, perio;

В таблице db2inst1.testtab32mdc поле bukrs является mdc-измерением.
Также создан обычный индекс по полям gjahr, perio
Собрана статистика с with distribution and detailed indexes all

Но в плане данного запроса есть только использование индекса по полям gjahr, perio (т.е. блочный индекс по bukrs не используется)

Если убрать предикат perio='003', то начинает выполняться index ANDing между этими двумя индексами.

Как бы заставить оптимизатор делать ANDing блочного mdc-индекса и обычного составного на исходном запросе ?

Опробовано на 9.1.8 и 9.7.2
...
Рейтинг: 0 / 0
MDC+index ANDing
    #37002378
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
db2test,

Добрый день.

Одно из:
- Использовать optimization profile
- and perio ||'' ='003'
...
Рейтинг: 0 / 0
MDC+index ANDing
    #37002515
db2test
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein- and perio ||'' ='003'
О как! :) Спасибо.
А что это за хитрый "хинт" такой ? Где почитать можно ?
Правда при иcпользовании этого "хинта" index ANDing произошел, но запрос стал работать в 3 раза медленнее чем по RID-индексу gjahr+perio.

А как вообще такое поведение оптимизатора можно объяснить ?
Вроде в мануалах пишут, что миксовать использование BID- и RID-индеков в запросе можно и нужно.
...
Рейтинг: 0 / 0
MDC+index ANDing
    #37002532
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
db2testMark Barinstein- and perio ||'' ='003'А что это за хитрый "хинт" такой ? Где почитать можно ?Оно не любит выражений по полю, говорит, что "некоторые оптимизационные техники" не могут быть применены в этом случае.
db2testПравда при иcпользовании этого "хинта" index ANDing произошел, но запрос стал работать в 3 раза медленнее чем по RID-индексу gjahr+perio.

А как вообще такое поведение оптимизатора можно объяснить ?
Вроде в мануалах пишут, что миксовать использование BID- и RID-индеков в запросе можно и нужно.Оно умеет цену запросов вычислять и в данном случае решило (видимо, правильно), что оптимальнее будет использовать RID индекс.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / MDC+index ANDing
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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