RE: inefficient sql

  • From: "Ric Van Dyke" <ric.van.dyke@xxxxxxxxxx>
  • To: <Chris.Stephens@xxxxxxx>, <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 29 May 2012 15:39:14 -0500

Generally speaking for each row returned you shouldn't do more than 10
LIOs per table. 

Sooooo...  <number of rows in result set>  * <tables> * 10 = Max
tolerated LIOs

Of course you could just start with <number of rows in result set> /
LIOs.  If this is 10 or less then you it's likely alright, anything over
certainly needs to be looked at. 


-------------------------
Ric Van Dyke
Education Director 
Hotsos Ltd


-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Stephens, Chris
Sent: Tuesday, May 29, 2012 4:15 PM
To: 'oracle-l@xxxxxxxxxxxxx'
Subject: inefficient sql

I'm interested in creating a daily report to run in our development
environments to spot inefficient SQL early in the process.
I've already got one that lists top ten highest elapsed time and top ten
most frequently executed.  They have helped tremendously in focusing on
the right SQL.  However, there is often SQL here that makes its way into
integration and production that could be improved upon. (Yes I know
where SQL falls in the optimization hierarchy and am well aware that
business tasks are what are important but these reports have proved
their value over and over.)

I'm pretty confident that a ratio of LIO's to rows returned by each row
operation in an SQL execution plan is a good indicator of SQL
efficiency.  I think I've heard this in a few different presentations.
I don't, however, recall what that ratio should be or if I'm
misremembering completely.

What do you all consider good indicators of inefficient SQL and how to
you identify those statements?

Thanks!
Chris


CONFIDENTIALITY NOTICE:
This message is intended for the use of the individual or entity to
which it is addressed and may contain information that is privileged,
confidential and exempt from disclosure under applicable law. If the
reader of this message is not the intended recipient or the employee or
agent responsible for delivering this message to the intended recipient,
you are hereby notified that any dissemination, distribution or copying
of this communication is strictly prohibited. If you have received this
communication in error, please notify us immediately by email reply.



--
http://www.freelists.org/webpage/oracle-l


--
http://www.freelists.org/webpage/oracle-l


Other related posts: