abap 优化之ST05

DATA: gt_mara TYPE TABLE OF mara.
SELECT * INTO TABLE gt_mara FROM mara
  WHERE MATKL = 'L000001'
  %_hints ORACLE 'ORDER' ORACLE 'INDEX(MARA "MARA~L")' .

  %_hints ORACLE 'ORDER'  如果是多表一起查询,需要指定表的顺序时需要用到这笔数据 否则只是如下语句制定索引

%_hints ORACLE  ORACLE 'INDEX(MARA "MARA~L")'

下面是ST05的追踪分析:开始跟踪->执行报表->结束跟踪->查看追踪列表,

选中这笔执行的语句,点击explain

1是这条语句执行的第一步。先根据索引  L 读取到行,2是这条语句的第二部根据1得到的行 获取数据,

有的open sql语句里 oracle不会根据你想要的索引和表顺序去执行,需要你通过HINTS去执行表的索引

原文地址:https://www.cnblogs.com/caizjian/p/8464580.html