what are the methods using performance tunning in sql and
pl/sql
Answer Posted / yogish d naik
There are mainly two ways to do performance tuning.
1. Using Explain plan: it is an method of getting how our
query will execute without actually executing the query. It
is used for only sql. (but not pl/sql).
Steps: 1. Here first Create query by following syntax
EXPLAIN PLAN FOR
SELECT A.ename,A.sal,nvl(A.comm,0),B.dname,B.loc
FROM emp A ,dept B
WHERE A.deptno=B.deptno;
Steps: 2. DBMS_XPLAN is a inbuilt package provided by
oracle we just call that package to get explain plan for
that query.
select * from table(DBMS_xplan.display());
here we has to observe two things cost and operation, if
it is taken TABLA ACCESS FULL then we has to make indexes
for columns mentioned in where clause. And note down the
cost before and check after indexing.
2. Sql Tracing and TKprof:
Sql Tracing: is used to generate execution plan and time
related statistics after executing query or program.
Steps: 1. Enable Trace:
ALTER SESSION SET SQL_TRACE = TRUE;
Steps: 2. Run some pl sql program
Steps: 3. Disable trace
ALTER SESSION SET SQL_TRACE = FALSE;
Use TKPROF Utility:
The trace file generated from previous step will be in non
readable format. TKPROF is a command line utility (os level)
converts non-readable trace file into readable text file.
C:\users\server> tkprof orcl_ora_7176.trc newfile.txt
Analyze output 1.CPU & Elapsed time should be less
2. Disk reads should be less
3. plan should have lesser cost , path should not be full
table scan.
| Is This Answer Correct ? | 2 Yes | 0 No |
Post New Answer View All Answers
Why we use cross join?
What are the different dcl commands in sql?
how to enter numeric values as hex numbers? : Sql dba
What is substitution variable in pl sql?
Does inner join remove duplicates?
is mysql query is case sensitive? : Sql dba
How can I change database name in sql?
what is datawarehouse? : Sql dba
What are the types of functions in sql?
Which function is used to return remainder in a division operator in sql?
What are the ddl commands?
Explain the difference between cursor declared in procedures and cursors declared in the package specification?
What is plpgsql language?
What is the non-clustered index in sql?
Can pl sql procedure have a return statement?