Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / План исполнения sql-запроса в DB2 (as/400) / 5 сообщений из 5, страница 1 из 1
26.01.2010, 18:11
    #36432100
yaselo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
План исполнения sql-запроса в DB2 (as/400)
Я хочу, чтобы запрос выполнялся по определенному плану исполнения.
Запрос работает быстро в случае создания явного временого файла, построения по нему индекса Конструкция же with temp as (select...) управляющей не является и даеж если подзапрос упорядочен есть явная проблема в длительность работы запроса.
Как управлять планами исполнения в Db2 Для as/400?
...
Рейтинг: 0 / 0
26.01.2010, 21:05
    #36432372
Anka_S
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
План исполнения sql-запроса в DB2 (as/400)
yaselo, привет! Не заню как для AS/400, но для Windows приходилось пару лет назад трассировать запросы при выполнении которых приложение вешалось. То есть ловишь запрос, сохраняешь его отдельно, потом выполняешь, после чего оцениваешь его вес в абстрактных единицах, смотришь по плану на какой из таблиц вес больше всего, там строишь индексы в зависимости от сканируемого поля (полей), но индексы увеличивают вес БД поэтому увлекаться ими особенно не советую.
...
Рейтинг: 0 / 0
28.01.2010, 00:11
    #36434948
Anton Demidov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
План исполнения sql-запроса в DB2 (as/400)
У DB2/400 есть два SQL движка - Classic Query Engine и SQL Query Engine. Вам, похоже, нужно поведение старого CQE. Так как далеко не все конструкции языка ещё поддерживаются в SQE, применение любой из неподдерживаемых функций или конструкций направит парсинг в CQE. Я не знаю вашу версию iSeries DB2, но поиск вам в руки ...

Пример: SQE в V5R2 не переваривал LIKE, UNION и даже UPPER().
Код: plaintext
1.
--
Per rectum ad astrum
...
Рейтинг: 0 / 0
28.01.2010, 18:11
    #36437065
wpn
wpn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
План исполнения sql-запроса в DB2 (as/400)
Anton DemidovУ DB2/400 есть два SQL движка - Classic Query Engine и SQL Query Engine. Вам, похоже, нужно поведение старого CQE. Так как далеко не все конструкции языка ещё поддерживаются в SQE, применение любой из неподдерживаемых функций или конструкций направит парсинг в CQE. Я не знаю вашу версию iSeries DB2, но поиск вам в руки ...

Пример: SQE в V5R2 не переваривал LIKE, UNION и даже UPPER().
Код: plaintext
1.
--
Per rectum ad astrum

А где можно почитать про CQE и SQE? И как можно понять, что парсинг был передан из 2-го в 1-ый движок?
Управлять планом запроса в явном виде (т.е. посредством специфический инструкций языка) никак нельзя, можно лишь подстраивать SQL и индексы. В AS400 есть утилита Visual Explain. Попробуйте через нее прогнать запрос и проанализируйте ее выводы.
...
Рейтинг: 0 / 0
28.01.2010, 18:55
    #36437144
Anton Demidov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
План исполнения sql-запроса в DB2 (as/400)
wpnА где можно почитать про CQE и SQE?
Как обычно:
http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/rzajq/queryoptimize.htm
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / План исполнения sql-запроса в DB2 (as/400) / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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