使用SQL访问DDS定义的表时,省略使用DB2 / 400创建临时访问路径的操作

时间:2019-02-08 20:10:44

标签: sql ibm-midrange db2-400

我在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

我在交互式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网站),但发现的大部分是z / OS上的DB2。 F4中的STRSQL提示功能无法提供帮助:我正在从MySQL搜索类似EXPLAIN SELECT的东西。 IBM DB2高级功能和管理 PDF指出存在调试模式,但似乎只能从我不记得拥有的某些(旧)Windows工具中获得。

如果需要的话,我正在使用V4R5。

2 个答案:

答案 0 :(得分:3)

在绿色屏幕上查看访问路径...

  • strdbg
  • strsql
  • 发表您的声明
  • 退出f3
  • enddbg
  • dspjoblog

    访问路径消息位于日志f10 f18 afaik的底部

答案 1 :(得分:1)

v4r5 ???大概20岁了...

对于IBM i,旧的Windows iSeries客户端访问客户端组件的“运行SQL脚本”组件和新的Access Client解决方案(ACS)包含Visual Explain(VE)。

幸运的是,尽管它已添加到v4r5中 http://ibmsystemsmag.com/ibmi/administrator/db2/database-performance-tuning-with-visual-explain/

只需启动iNav,右键单击“数据库”并选择“运行SQL脚本”

在此处粘贴查询,然后单击“ Visual Explain”->“ Run and Explain”
(或相应的按钮)

(可选)在绿屏中。
执行STRDBG进入调试模式,执行F12继续,然后进入STRSQL。然后,Db优化器将向作业日志中输出其他消息,为您提供有关其工作的更多信息。