how to know if there are expensive sql statements
running?what will you do then to improve the response time?
Answer Posted / yash
• Detection of Expensive SQL Statements Using the
Transaction Profile and the Statistical Records:
o Using the ST03N transaction profile, you can
identify transactions that cause a significant part of
total response time, as well as transactions with high
database request times. Use of the Transaction Profile:
 Sort the Average DB time (ms) column in descending
order. Transactions with high average DB request times
might be caused by expensive SQL statements.
 Sort the Total Database Time column in ascending
order. Then Total this column. Transactions causing more
than 5% of this total database time are worth a closer look
with respect to tuning measures. .
 Sort the Total Response Time column in ascending
order. Then Total this column. Transactions causing more
than 5% of this total response time are worth a closer look
with respect to tuning measures.
o Use Statistical Records (STAD):
 On the transaction STAD entry screen, enter the
following restrictions:
• Choose a time frame (remember that statistical
records are only available for a certain time).
• Select Task Type D.
• Enter a relevant value for DB request time, for
example, 1000 ms.
 Analyze all available data for long-running dialog
steps by double-clicking individual entries in the result
list.
o Using the Database Monitor:
 On the entry screen of the database monitor you
should check the following values: .
• The quality of the database data buffer should be
higher than 95%. During .warming up. of the SAP system the
quality may be lower, but should still be above 90% (except
during a very early phase).
• Check the number of user calls compared to
recursive calls. There should be less recursive calls than
user calls.
• Check the Reads/User Call. If this value exceeds 30
(blocks read per user call) then this is a strong indicator
for expensive SQL statements.
 Use the Database Process Monitor:
• Enter transaction ST04 and then choose Detailed
Analysis Menu → Oracle Session. .
• Identify the long-running task by finding the
corresponding workprocess ID. Compare the first value in
the Client PID column with the process ID of a work process
in SM50/SM66. Alternately, you can use the link to the work
process information by choosing Process after having marked
one line in the Oracle process overview. .
• Check the current action on the database by
clicking the statement in the SQL statement column. In the
resulting popup window, you will see the following options:
o 1. Dictionary information on the accessed object
o 2. The display of the execution plan for the SQL
statement (also called Explain)
o 3. A reference to the call point in the ABAP
program (if possible) .
• Analyze the Explain
Is This Answer Correct ? | 8 Yes | 0 No |
Post New Answer View All Answers
If client copy is stopped in middle, what happens if you want to start it again?
What is osp$ mean?
When should we use Transactional RFC?
How many types of work processes?
How many types of work processes are there in sap ?
What is GRIR, GRIR effect, why it is imp, How it is analysed, What is expected out GRIR, What is auto write off & Manual GRIR write off?
how can we set a/r a/p netting for inter company code transactions? is it possible to do? if yes, give the solution?
What is transport layer and domain controller? In which system you have create domain control?
before doing client copy you have to adjust table space at os level.what is the single command for that?(with out going through all the menu of brtools)
Have you done any up gradations?
Why do you use DDIC user not SAP* for Support Packs and SPam?
How to assign a mass Tables in Auth Group by using T-code:se54
How to setup RFC connection in ecc6 tells me steps involved?
How to deactivate IPC in standalone CRM.
what is sox and sod in sap ?