Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2+WebSphere Portal трабл / 3 сообщений из 3, страница 1 из 1
03.07.2008, 12:15
    #35408458
mitek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2+WebSphere Portal трабл
День добрый.

Исходные данные :
сервер БД DB2 8.1 + FP 12
сервер приложений : клиент DB2 8.1 + FP2 + WebSphere Portal 6.0.2.9
Есть портлет, отображающий новости по 10 записей на страницу запросом вида :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
with q1 as 
(SELECT ADMIN777.MESSAGE.id, ADMIN777.MESSAGE.type_id, ADMIN777.MESSAGE.status_id, 
 ADMIN777.MESSAGE.title, ADMIN777.MESSAGE.anons, ADMIN777.MESSAGE.body, 
ADMIN777.MESSAGE.datecreate, ADMIN777.MESSAGE.author, ADMIN777.MESSAGE.visible_id, 
ADMIN777.MESSAGE.rank, ROW_NUMBER() OVER (ORDER BY ADMIN777.MESSAGE.id) as number 
FROM ADMIN777.MESSAGE 
left join ADMIN777.MESSAGE_REGION 
on (ADMIN777.MESSAGE.ID = ADMIN777.MESSAGE_REGION.MESSAGE_ID) 
left join ADMIN777.MESSAGE_TAG 
on (ADMIN777.MESSAGE.ID = ADMIN777.MESSAGE_TAG.MESSAGE_ID) 
Where ADMIN777.MESSAGE_REGION.REGION_ID in( 0 ) and ADMIN777.MESSAGE_TAG.TAG_ID in ( 0 ) and 
ADMIN777.MESSAGE.status_id= 0  and ADMIN777.MESSAGE.type_id= 0  
and (ADMIN777.MESSAGE.datecreate between '2008-04-03-00.00.00.00000' and '2008-07-03-
23.59.59.999999')) 
select * from q1 where number> 10  and number<= 20 

По снапшоту видно что из сервлета этот запрос выполянется в среднем 25 сек.
При этом проц съедает на 50%

Тот же запрос из команд центра или clp с того же сервера мухой отлетает за 0.2 сек.

Если убрать between-предикат (типа скан всех записей) то из сервлета начинает также быстро работать.

Индекс по DATECREATE есть, статистика собрана, записей в каждой таблице в запросе по 9 тыщ.
Уже перепробовали по разному играться с форматом даты, ничего не помогает.

Мжет будут мысли как это дело пофиксить ?
...
Рейтинг: 0 / 0
03.07.2008, 16:14
    #35409425
mustaccio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2+WebSphere Portal трабл
Подозреваю, что из портала приходит запрос со связанными переменными, то есть в виде
Код: plaintext
and (ADMIN777.MESSAGE.datecreate between ? and ?)

Посмотрите на планы запроса в двух вариантах - с литералами дат и со связанными переменными, думаю, что увидите проблему.

Статистику собираете с учетом распределения значений (with distribution)? Какие индексы есть для таблицы MESSAGE?
...
Рейтинг: 0 / 0
04.07.2008, 10:22
    #35410807
mitek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2+WebSphere Portal трабл
Оказывается не все ранстаты одинаково полезны

После очередного пересоздания таблицы MESSAGE и ее индексов и перезаливки данных собрали статистику не как обычно с with distribution and detailed indexes all, a только c on key columns и все залетало.

Почекал апарлисты к фиксам, нашел вот это

Может оно, а может и нет.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2+WebSphere Portal трабл / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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