How to improve the performance of a pl/sq stored procedures
or functions or triggers and packages ?
Answers were Sorted based on User's Feedback
Answer / shailesh
We can improve the performance by create indexes on the use
tables which is used in the procedure,function and packages
And with the help of these indexes we can improve the
performance.
| Is This Answer Correct ? | 14 Yes | 3 No |
Answer / kapil
By using index (not always)
by using bulk fetch
by using exists and not exists in place of in and not in
clause.
by avoiding implicit conversion by oracle
ex: if in employee table emp_no is varchar then
if we query the data from employee table by
where cluase like employee_number = 123 then oracle will
have to implictly convert the number 123 to
varhcar '123'and will require time
| Is This Answer Correct ? | 11 Yes | 0 No |
Answer / hrishi
To reduce the context switches between the SQL Engine and
PL/SQL engine. We can use Bulk Bind Concept to this...
| Is This Answer Correct ? | 6 Yes | 1 No |
Answer / rajnish chauhan
Follow the steps for performance SQL Tunning.
1) First of all tables structure should be in normalization form.
2) Then Index and tables Statistics should be upto date.
3) make it different tables table space for tables and index.
4) Avoid unnecessary joins from the query.
5) Avoid Full Table Scan and Index Skip scan.if query fetching less then 15% records from the table then index scan faster then FTS.and FTS is better then index scan if tables consist larg no of data because Index scan read multiple time on each row where as FTS read single time for each row.
6)monitor Plan through Explain plan or TKPROFF.
7)Table ordering also improve the performance of the query like.Master table should take first place then after Transaction table.
8) Check index path used or not in explain plan .if not then check weather index enable or not.then use Index Hint to forcefully used.
9)Avoid function on index column.
10) other small things you can apply like use Having instead of Where clause , use Exists then IN , use Substring instead of <> caluse.
Thanks
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / shakir
keeping the pl/sql blocks in keep pool in sga that is
called pinning of packages
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / dipti
By using Indexs we can improve the performace,
also use exist and not exist in place of in and not in as
it plays the same role as Index.
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / anand reddy
1)by using index
2)by using bulk collect
3)by using exist operator
4)by using hints
5)by using nocopy option
6)by using collection types
| Is This Answer Correct ? | 1 Yes | 0 No |
SELECT *
FROM employees
ORDER BY EMPLOYEE_ID
OFFSET 99 ROWS
FETCH NEXT 21 ROWS ONLY;
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / syam
Hi Shailesh,
let me know that how can i improve performence of
procedures by useing indexes
| Is This Answer Correct ? | 0 Yes | 1 No |
what does the t-sql command ident_current does? : Transact sql
Is sql dba a good career? : SQL DBA
I have 2 packages A and B. Now package A references Package B and Package B references Package A. How do you compile such inter-dependent objects in PL/SQL
5 Answers Doyensys, Infosys, Metric Stream,
What are triggers, and when would you use them?
what is auto increment? : Sql dba
Types of backups ?
What is aggregate function in sql?
List and explain the different types of join clauses supported in ansi-standard sql?
what is constraining table?
How to add new employee details in an employee_details table with the following details
What is multiple partition?
What is the purpose of the sql select top clause?
Oracle (3259)
SQL Server (4518)
MS Access (429)
MySQL (1402)
Postgre (483)
Sybase (267)
DB Architecture (141)
DB Administration (291)
DB Development (113)
SQL PLSQL (3330)
MongoDB (502)
IBM Informix (50)
Neo4j (82)
InfluxDB (0)
Apache CouchDB (44)
Firebird (5)
Database Management (1411)
Databases AllOther (288)