Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Можно ли поменять план выполнения? / 9 сообщений из 9, страница 1 из 1
17.12.2015, 18:00
    #39131121
Andrey Sribnyak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли поменять план выполнения?
Здравствуйте
Не бейте сильно ногами. Есть глупый вопрос

Имеем IBM 10.5 BLUE (Тестовая версия) с вот
таким стандартным запросом tpcc:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SELECT 
    n_name,
    SUM(ol_amount) AS revenue
FROM TPCCH.customer, TPCCH.orders, TPCCH.order_line, TPCCH.stock, TPCCH.supplier, TPCCH.nation, TPCCH.region
WHERE c_id = o_c_id
AND c_w_id = o_w_id
AND c_d_id = o_d_id
AND ol_o_id = o_id
AND ol_w_id = o_w_id
AND ol_d_id=o_d_id
AND ol_w_id = s_w_id
AND ol_i_id = s_i_id
AND MOD((s_w_id * s_i_id), 10000) = su_suppkey
AND ascii(substr(c_state, 1, 1)) = su_nationkey 
AND su_nationkey = n_nationkey
AND n_regionkey = r_regionkey
AND r_name LIKE '%Asia%'
AND o_entry_d >= TO_DATE('20151007','YYYYMMDD')
GROUP   BY n_name
ORDER   BY revenue DESC



На не очень больших данных (до пары миллионов в самой большой таблице)

Время выполнения >1 минуты

План выполнения в attach

На этих же данных и Сиквел и постгресс выдают результат менее чем за секунду.

Как- то повлиять на ход выполнения мы можем?
...
Рейтинг: 0 / 0
17.12.2015, 18:22
    #39131155
Hunterik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли поменять план выполнения?
День добрый...
Код: sql
1.
select tabname, TABLEORG from syscat.tables where tabschema='TPCCH'
...
Рейтинг: 0 / 0
17.12.2015, 19:00
    #39131205
Andrey Sribnyak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли поменять план выполнения?
Hunterik,

авторdb2 => select tabname, TABLEORG from syscat.tables where tabschema='TPCCH';

TABNAME TABLEORG
-------------------------------------------------------------------------------------------------------------------------------- --------
HISTORY C
ITEM C
REGION C
STOCK C
SUPPLIER C
WAREHOUSE C
CUSTOMER C
DISTRICT C
NATION C
NEW_ORDER C
ORDERS C
ORDER_LINE C

12 record(s) selected.
...
Рейтинг: 0 / 0
17.12.2015, 19:23
    #39131230
Andrey Sribnyak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли поменять план выполнения?
Полный explain file
...
Рейтинг: 0 / 0
17.12.2015, 20:24
    #39131280
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли поменять план выполнения?
Andrey Sribnyak,

Из плана.

Buffer Pool size: 5000
Sort Heap size: 32768

156 MB буферный пул и 128 MB - куча сортировок.
Статистика на таблицы не собрана.

Оно не для таких объемов баз придумывалось.
Там рекомендуемые минимумы для колоничных таблиц - 8 ядер и 64 GB памяти.
А как у вас - это проверить, оно работает вообще или нет...
...
Рейтинг: 0 / 0
17.12.2015, 22:20
    #39131376
Andrey Sribnyak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли поменять план выполнения?
Mark Barinstein

Из плана.

Buffer Pool size: 5000
Sort Heap size: 32768

156 MB буферный пул и 128 MB - куча сортировок.
Статистика на таблицы не собрана.

Оно не для таких объемов баз придумывалось.
Там рекомендуемые минимумы для колоничных таблиц - 8 ядер и 64 GB памяти.
А как у вас - это проверить, оно работает вообще или нет...

Вся база занимает 600М
Озу да, 8 Гиг
и 4 процессора...
Т.е в память вся БД должна помещаться...
Хотелось бы по минимуму проверить :)
...
Рейтинг: 0 / 0
18.12.2015, 09:46
    #39131551
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли поменять план выполнения?
Очевидно, база в 600м не влезет в буферный пул 156м. (Более того, не знаю пока, как в DB2, а в Oracle база в 600м не полезет и в буферный пул 1200м, если не предпринять специальных усилий, потому что табличные сканирования на больших таблицах он будет стремиться делать через direct read).

А когда влезет, оно всё равно не обязано отрабатывать быстро. Мнение "мы сейчас всё закешируем и всё залетает" часто опровергается на практике. Необходимость правильных индексов и правильных планов не отменяется даже в этом случае.
...
Рейтинг: 0 / 0
18.12.2015, 10:54
    #39131598
Andrey Sribnyak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли поменять план выполнения?
Victor Metelitsa,

НАсколько я понимаю, именно Индексы в этой версии базы не создаются :)
Если я не прав, то поправте меня
...
Рейтинг: 0 / 0
18.12.2015, 11:10
    #39131619
mitek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли поменять план выполнения?
Andrey SribnyakНАсколько я понимаю, именно Индексы в этой версии базы не создаются :)

Cделайте буферпул в 1Gb, SHEAPTHRES_SHR=4GB и SORTHEAP=1GB, соберите по таблицам ранстат с with distribution и посмотрите будет ли разница.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Можно ли поменять план выполнения? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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