Отказ от создания временного пути доступа с DB2 / 400 при доступе к таблицам, определенным в DDS, с помощью SQL - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть два определения таблиц в DDS, скомпилированные в * FILE объекты и заполненные данными:

Kunpf:

A                                      UNIQUE
A          R KUNTBL
A            FIRMA         60A         ALWNULL
A            KUNR           5S 0B
A            KUNID          4S 0B
A          K KUNR
A          K KUNID

Kunsupf:

A          R KUNSUTBL
A            KUNID     R        B      REFFLD(KUNID KUN/KUNPF)
A
A            SUCHSTR       78A
A          K SUCHSTR
A          K KUNID

IЯ использую следующий оператор в интерактивном SQL (STRSQL):

SELECT DISTINCT FIRMA, KUNR FROM KUN/KUNPF
 LEFT JOIN KUN/KUNSUPF ON (KUNPF.KUNID = KUNSUPF.KUNID)
 WHERE SUCHSTR LIKE 'Freiburg%'
 ORDER BY FIRMA
 FOR READ ONLY

Каждый раз, когда я выполняю этот оператор, я получаю значительную задержку, пока не откроется экран ответа.Предварительно показывается сообщение о том, что создается временный путь доступа.

Как я могу узнать, какой / как создается этот временный путь доступа? Моя цель - получить этот доступпуть стал постоянным, поэтому его не нужно перестраивать при каждом вызове этого запроса.

Я искал в сети (особенно на сайте IBM), но выяснил, что в основном это было для DB2 в z / OS.Средство F4 -Prompting в STRSQL не предоставляет помощи: я искал что-то вроде EXPLAIN SELECT в MySQL.В IBM Расширенные функции и администрирование DB2 PDF указано, что существует режим отладки, но кажется, что он доступен только из некоторого (старого) средства Windows, которое я не помню.

Iиспользую V4R5, если это уместно.

Ответы [ 2 ]

0 голосов
/ 09 февраля 2019

, чтобы увидеть путь доступа на зеленом экране ...

  • strdbg
  • strsql
  • запустить ваш оператор
  • выйти из f3
  • enddbg
  • dspjoblog

    сообщения о путях доступа находятся внизу журнала f10 f18 afaik

0 голосов
/ 09 февраля 2019

V4R5 ???Это уже 20 лет ...

Для IBM i компонент "Запуск сценариев SQL" старого компонента Навигатора клиентского доступа для Windows и новых клиентских решений Access (ACS) содержит Visual Explain (VE)).

К счастью, похоже, что он был добавлен в v4r5 http://ibmsystemsmag.com/ibmi/administrator/db2/database-performance-tuning-with-visual-explain/

Просто запустите iNav, щелкните правой кнопкой мыши на «База данных» и выберите «Запуск сценариев SQL»

ВставитьВаш запрос там и нажмите «Визуальное объяснение» -> «Выполнить и объяснить»
(или соответствующую кнопку)

По желанию, на зеленом экране.
Сделайте STRDBGчтобы войти в режим отладки, F12, чтобы продолжить, а затем перейти в STRSQL.Затем оптимизатор БД выведет в журнал заданий дополнительные сообщения, которые дадут вам больше информации о том, что он делает ..

...