powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Курсоры в ХП.
13 сообщений из 13, страница 1 из 1
Курсоры в ХП.
    #32486279
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеем ХП, обявленную вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Create Proc(....)
p1: begin
DECLARE C1 CURSOR WITH RETURN FOR
sql_stmt1;

DECLARE C2 CURSOR WITH RETURN FOR 
sql_stmt2;

...
etc
...

CASE WhichCrsr
when 'C1'
THEN OPEN C1;
WHEN 'C2'
THEN OPEN C2;
...
etc
...
END CASE;
end p1


Что происходит при вызове процедуры? DB2 сразу переходит к CASE - циклу или как? Проблема в том, что при вызове процедуры, проходит много времени, прежде чем получаешь результат. Те же самые запросы, реализованные в сервлете - отрабатывают почти мгновенно. Почему?
...
Рейтинг: 0 / 0
Курсоры в ХП.
    #32486423
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DECLARE C2 CURSOR WITH RETURN не содержит выполнимых операторов.
OPEN может выполняться долго.
...
Рейтинг: 0 / 0
Курсоры в ХП.
    #32486441
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего не понял... Как это не содержит выполнимых операторов?
У меня этих курсоров в процедуре куча. Открываются эти курсоры в CASE - цикле. Все курсоры - это результаты некоторых выборок.
Или ты имеешь ввиду что Open cursor выполняется долго?
...
Рейтинг: 0 / 0
Курсоры в ХП.
    #32486478
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да
...
Рейтинг: 0 / 0
Курсоры в ХП.
    #32486515
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если написать в декларации курсора OPTIMIZE FOR N ROWS?
Полагаю при открытии курсора строится результирующая таблица,
и если она большая - и нет нужных индексов - то действительно - очень долго
будет открываться.
А с OPTIMIZE FOR 50 ROWS - да еще и по индексу - мгновенно...
...
Рейтинг: 0 / 0
Курсоры в ХП.
    #32486518
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно. Следовательно ХП лучше использовать для изменения информации в БД, а не для её получения?
...
Рейтинг: 0 / 0
Курсоры в ХП.
    #32486579
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему же? Меня такой подход (с курсорами) вполне устраивает...
Просто все зависит от того как база спроектирована...
В какой момент получаются отчеты.
Хочешь тестовое приложение пришлю с исходниками, посмотреть как примерно я это делаю?
...
Рейтинг: 0 / 0
Курсоры в ХП.
    #32486606
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 gardenman.
Индексы есть (кстати надо будет их снова просмотреть, мож получше можно создать). Optimize не пойдет, хоть и резултсет действительно большой, но он нужен весь. Да и дело здесь не в индексах, потому что селекты полностью идентичны, только в одном случае их посылает сервлет, в другом - это ХП.
Насчет второго, если не трудно, то конечно. Вот моё мыло: riman@mail15.com
...
Рейтинг: 0 / 0
Курсоры в ХП.
    #32486785
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут есть некоторая разница когда пишешь OPTIMIZE FOR и FETCH FIRST N ROWS
при OPTIMIZE FOR - вернутся все записи в запросе, просто результирующая таблица будет достраиваться в процессе запроса...
Конечно если запрос силно навороченный такая фишка не пройдет.

Выслал.
...
Рейтинг: 0 / 0
Курсоры в ХП.
    #32486807
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, optimize точно не подойдет, уже пробовал - работает ещё медленнее чем без него. Придется писать сервлет.

Письмо что - то ещё не пришло. Большое что ли?
Спасибо.
...
Рейтинг: 0 / 0
Курсоры в ХП.
    #32487162
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты похоже еще и динамически строишь select - если есть возможность перейди на статику
...
Рейтинг: 0 / 0
Курсоры в ХП.
    #32488171
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, есть и динамические селекты. Отказаться от них нельзя. Только я не понял - как это вы вычислили?
...
Рейтинг: 0 / 0
Курсоры в ХП.
    #32488339
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эээээ, на черт эти ХП. Тут её в сервлет на нативном JDBC написали - вообще летает. Всем спасибо.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Курсоры в ХП.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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