Chinaunix首页 | 论坛 | 博客
  • 博客访问: 254712
  • 博文数量: 123
  • 博客积分: 2315
  • 博客等级: 大尉
  • 技术积分: 1827
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-03 14:25
文章分类

全部博文(123)

文章存档

2012年(11)

2011年(3)

2010年(3)

2009年(18)

2008年(88)

我的朋友

分类: 项目管理

2012-04-17 11:30:56

以下是SAP提供的各种对ABAP对象进行性能分析的工具:

  1. 运行实时分析 transaction SE30

这个 transaction 可以给出对一个ABAP程序的所有分析,包括数据库和非数据库处理操作。

  1. SQL 追踪 transaction ST05

追踪列表有很多行不是关于 SELECT 语句的,因为任何ABAP程序的执行都会需要很多附加的管理性SQL调用。可以使用过滤器来显示追踪列表的输出来只显示有关的行。

追踪列表同时包含与一个SELECT语句相关的多个不同 SQL 命令,因为 R/3 数据库接口 — R/3应用服务器的一个复杂的组成部分 — 将每一个 Open SQL 命令映射为一个或一系列的物理数据库调用指令并执行这些指令。这种映射依赖于具体的调用和数据库系统,对R/3的性能是非常重要的。例如在我们的测试程序中,SPFLI表上的 SELECT-ENDSELECT 循环被映射成为一连串Oracle环境下的 PREPARE-OPEN-FETCH 的物理调用。

追踪列表中的SQL语句的WHERE条件与ABAP语句中的 WHERE 是不同的。因为在 R/3 系统中,客户是一个具有自己的主记录(master records)和自己的一组数据表的独立单元。使用ABAP,每一个 Open SQL 的命令都会自动在相应的客户环境中运行。因此,如果被查找的表有客户(client)字段的话,每一个WHERE语句都会自动添加一个条件包含实际的客户代码

要查看一个语句的执行计划(execution plan),只需要将光标放在 PREPARE 语句上,然后选择 Explain SQL。具体的执行计划的解释取决于使用的数据库。

阅读(668) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~