powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Подскажите с оптимизацией.....
7 сообщений из 57, страница 3 из 3
Подскажите с оптимизацией.....
    #34959555
DB2 Index
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TORT

select b.tovar_id, sum(b.tovar_mov) as kolich
from dbadmin.strings b, dbadmin.document c
where b.doc_id = c.id and c.class_name = 43
and b.acpt = 0 and c.shop_id = 5
group by b.tovar_id

Почему не хватаются индексы для DBADMIN.STRINGS. Explain показывает, что идет Table access full.
Подскажите чего переделать?
Код: plaintext
STRINGS +DOC_ID+TOVAR_ID  2007 - 11 - 21   00 : 24 : 27 . 281   5171940 

CREATE INDEX ...... ON DBADMIN.STRINGS .... INCLUDE (acpt) ...
?
...
Рейтинг: 0 / 0
Подскажите с оптимизацией.....
    #34959573
Фотография Hunterik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TORTHunterik, есть мысль какая-нибудь?
Интересна ради хотелось посмотреть, как запрос переписался, какой план получился.
Потому как hash join, равно как MQT на 0,1 и 3 уровнях не задействуются... Вроде.
Так что план вы мне всё таки можете дать. =)
Тут, кстати, оказывается можно файлики прикреплять... Чтобы текста поменьше было.

Насчет вот этого кусочка...

TORTParallelism: Intra-Partition Parallelism
CPU Speed: 2.361721e-007
Comm Speed: 0
Buffer Pool size: 115000
Sort Heap size: 512
Database Heap size: 8192
Lock List size: 2048
Maximum Lock List: 80
Average Applications: 5
Locks Available: 167116

Интересно, вы не смотрели, у вас происходят переполнения при сортировках, что с блокировками делается?

Я вот ещё о чем подумал, вчера Mark посоветовал создать индекс дополнителный, но Вы сказали, что изменений никаких не появилось в работе. Может стоило сделать FLUSH PACKAGE CACHE, а потом пробовать запрос и смотреть explain (к сегоднешнему дню я думаю, вы индекс уже зарубили)?
Что скажете, Mark?
...
Рейтинг: 0 / 0
Подскажите с оптимизацией.....
    #34960139
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein, у меня OLTP - это репликация данных с филиалов. Ну а DWH соответственно анализ этих самых данных. Давно подумываю завести некий промежуточный, так сказать, сервер для репликации... Как раз DWH и получится. И на этом сервере упарвлять различными аггрегирующими таблицами, чтобы на основной рабочий сервер предоставлять уже подготовленные данные. Что думаете по такому подходу?
...
Рейтинг: 0 / 0
Подскажите с оптимизацией.....
    #34960148
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hunterik, а как задать в Вашем виде explain уровень оптимизации? Просто перед выполнением запроса SET CURRENT QUERY OPTIMIZATION 0 вставить?
...
Рейтинг: 0 / 0
Подскажите с оптимизацией.....
    #34960152
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FLUSH PACKAGE CACHE чего такое?
...
Рейтинг: 0 / 0
Подскажите с оптимизацией.....
    #34960160
TORT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DB2 Index, ключ (DOC_ID, TOVAR_ID) не уникальный... Чего-то я не могу INCLUDE сделать
...
Рейтинг: 0 / 0
Подскажите с оптимизацией.....
    #34960556
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HunterikМожет стоило сделать FLUSH PACKAGE CACHE, а потом пробовать запрос и смотреть explain (к сегоднешнему дню я думаю, вы индекс уже зарубили)?Насколько я знаю, при создании индекса на таблицу все динамические пакеты в package cache, использующие эту таблицу, инвалидируются.
Это можно проверить на
Код: plaintext
1.
2.
select NUM_EXECUTIONS, NUM_COMPILATIONS, SUBSTR(STMT_TEXT,  1 ,  256 ) TEXT
FROM TABLE(SNAPSHOT_DYN_SQL(CAST(NULL AS VARCHAR( 1 )), - 1 )) T
запуская ее:
- после выполнения несколько раз селекта на таблицу без индекса
- сразу после создания индекса (этого селекта уже не окажется в package cache)
TORTMark Barinstein, у меня OLTP - это репликация данных с филиалов. Ну а DWH соответственно анализ этих самых данных. Давно подумываю завести некий промежуточный, так сказать, сервер для репликации... Как раз DWH и получится. И на этом сервере упарвлять различными аггрегирующими таблицами, чтобы на основной рабочий сервер предоставлять уже подготовленные данные. Что думаете по такому подходу?Да, нормальное решение.
Хотя, репликация - это все-таки не совсем oltp, и в данном случае, может, и можно будет обойтись циклами типа:
- репликация идет, пользователи смотрят агрегаты
- репликация остановилась, пользователи курят, агрегаты обновляются
Если п.2 у вас будет идти удовлетворительно для пользователей, то можно и так оставить.

Для explain лучше так:
Создайте файл sql команд (expln.sql):
--
SET CURRENT QUERY OPTIMIZATION 0;
SELECT ...;
--
Подайте его на вход утилите db2expln:
--
db2expln -d your_db -f expln.sql -o expln.log -z ; -g -i -u user password
--
Смотрите expln.log
Когда граф будете сюда постить, оберните его в фиксированный шрифт - видно лучше будет.
...
Рейтинг: 0 / 0
7 сообщений из 57, страница 3 из 3
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Подскажите с оптимизацией.....
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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