使用SAT研究IBASE hierarchy读取性能

114 阅读1分钟

Created by Jerry Wang on Mar 06, 2014

1. transaction code SAT,创建一个新的variant例如ZJERRY, 确保Aggregation为None:

 

clipboard1

 

 

 

2. 写一个很简单的report例如ZWEB,里面很简单的调用function module CRM_IBASE_GET_DETAIL,读取一个hard code的IBASE ID对应的hierarchy。

 

启动transaction code SAT,variant输入step1创建的ZJERRY,然后点execute button

clipboard2

 

3. report ZWEB 在SAT的trace mode下执行完毕之后,会自动navigate到SAT的结果页面,

点"Processing Blocks",再将时间显示切换成Absolute/Percentage Times:

clipboard3

 

再点Critical Processing blocks button,limitVal输入20,这样SAT会自动把执行时间超过20%的代码块用红色高亮显示:

clipboard4

 

从结果我们可以得知,56.73%的时间花在subroutine GET_STRUCTURE_COMPLETE_EXT上,其中30.32%花在读取IBASE header信息上,25.1%的时间花在读取IBASE hierarchy上叶节点里面包含的Product/Object信息。

clipboard5

 

如果想知道Product/Object的读取是发生在哪张表里的,只需要进一步展开SAT的记录,双击最低层的subroutine READ_MULTIPLE_CURRENT_DB,

 

 

clipboard6

 

 

进去之后在73行设一断点,重新执行一次report即可获得table名字。

 

clipboard1