Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

diff between runtime analysis and sql trace

Former Member
0 Likes
917

hiii

i want atleast 5 difference between RUNTIME ANALYSIS AND SQLTRACE

REGARDS

BASKAR

1 REPLY 1
Read only

Former Member
0 Likes
487

SE30 - Runtime Analysis Tool

This runtime analysis tools allows the ABAP/4 programmer to trace the tables used by the SAP dialog/reports programs. In the Analyze button, you can see four more buttons like:-

Hit List

Displays the execution time of each statement in the program.

Tables

Displays the tables accessed during run time.

Group hit list

Displays the execution time of all the statements and grouping them based on the type of command. e.g. performs, SQL and internal tables used.

Go to transaction SE30

Type in the transaction code you want to analyze

4.6x

In the Restriction section: select the TMP -> Temporary variant

Click the Change button

Click the Duratn/type

Select None for Aggregation

Save the variant and execute again

After finishing the process, click back to SE30

Use F3 to move back to the initial screen of SE30

Click the Analyze Button

Click Goto -> Object-centered hit list -> Database tables

For example, if you want to display the data for MSEG - Material Document table

Transaction SE16

Type in MSEG for Table name and click execute.

Data Browser will display the default selection for you to display data. If you did not change the default and click execute the data browser will display the first 500 records.

Click Settings to change the List formats, User parameters and Fields for selection.

In 4.6x, you can use SE16N.

Transaction SE11 or SE12 (4.6x)

Type in MSEG for Object name and click the Display button.

Click Utilities -> Table contents for the default selection screen. If you did not change the default and click execute, the Dictionary will display the first 500 record.

Click Settings to change the List formats, User parameters and Fields for selection.

Transaction SE17

Type in the Table Name, put in the Selection value, put a 'X'

It's checks program execution time in microseconds. When you go to T.Code SE30.if you give desired program name in performance file. YOu can find some Tips&Tricks by SAP to improve your program performance.

This transaction gives all the analysis of an ABAP program with respect to the database and the non-database processing.

You can use this for :BDCs, SCRIPTS(Print Programs)

if you really have no idea, why a report is slow, then you have to start with SE30 (runtime analysis).

There are three bargraphs: ABAP / database / system.

System should be more or less nothing.

If ABAP is bigger than database: have a look at slow abap-statements (normally operations with internal tables: read, delete, loop where,...); classic reason: to much reads without binary search / sorted table / hashed table use.

If database is bigger than ABAP: have a look at your SQL statements. If you can see already forgotten key fields, fine - otherwise SQL trace will bring help in analyzing.

A SQL trace itself says nothing about overall performance (which is done by runtime analysis), only about database part. But 'normally' programmers have their ABAP-part in control and struggle only with slow selects: that's the reason, why often SQL trace is used immediately.

From the SQL trace you can find,

1. are there recurrsive database calls

2. What index a particular selecte statement is using

3. What is the cost per database read

4. Which database read is taking more time, etc

The Runtime Analysis tool(SE30) measures ABAP/4 statements that are potentially expensive in terms of CPU time. The most significant of these are:

Statement used for database access like select.

Statement used for modularization such as module, perform, call function.

Internal table statements like append, collect.

The SQL trace is a tool(ST05), which allows displaying and analyzing the contents for the database calls, which are made by the reports and transactions written in ABAP/4. It monitors programs and transactions on the database level. With the help of this facility for every open SQL instructions, you can display, about which SQL Embedded (DECLARE, OPEN, FETCH) Statement have been executed, besides analyzing the system performance.

SQL trace is a performance analysis tool that shows how open SQL statements are converted into native SQL statements. It basically helps you to identify whether your OPEN SQL statements written in your program are accessing the database in an efficient performance intensive way or not.

The Runtime analysis tool allows you to examine the performance of any ABAP programs, such as reports, subroutines, function modules or classes, that you create in the ABAP Workbench. It saves its results in performance data files, which you can display as lists. You can use these results to identify runtime-intensive statements, to combine table accesses, and show the hierarchy of program calls.

From the results of the runtime analysis, you can identify:

1. Excessive or unnecessary use of modularization units

2. CPU-intensive program functions

3. User-specific functions that could be replaced with ABAP statements

4. Inefficient or redundant database access.

SE30 simply gives you an overview of the time spent on the application processing against the time spent selecting from the database. ST05 give an overview of exactly how the program is hitting against the database and shows you the indiviual SQL statements used with which index was used.

RUNTIME ANALYSIS

SQL TRACE