t-code ST05 trace的用法和分析

来源:互联网 发布:生产型进销存软件 编辑:程序博客网 时间:2024/05/29 13:32

ST05有很多trace的功能,主要使用的有两个:



1、通过SQL trace去追踪你所执行的程序跑了那些数据库表(例如我想知道某个主数据上的text是怎么来的,或者是某个t-code下面的某个值是存在那个表的):

      首先通过激活trace:

      

      然后去run你的t-code(这里越简洁越好,例如我是要查看XD03里面主数据的text是怎么保存和读取的,我就进入了XD03的数据之后,再去激活SQL trace,这样就可以省去很多无用的trace,如果你从XD03开始trace就会多很多无用数据):

     

         看trace结果(有针对性的看,例如我这里要想通过trace找到read_text这个FM的输入屏幕的参数,所以我要关注tableSTXH,如果你要关注更新表,你就要注意commit work,很多时候trace的结果不那么直接明显,还需要一个个去尝试):

         


2、通过ST05去trace一个程序的SQL语句是否有可以优化的点:

      通过上面1的方法去trace一个程序,然后去分析里面是否有重复FETCH一个表,看看FETCH一次是否有超过几十万微妙的时间,这样可以考虑索引是否使用正确,然后是否有重复open多次的,可以考虑是否存在LOOP select。。然后还有双击后面的select语句,可以进入去看这个SQL语句的解析。