Return-Path: <oracle-l-bounce@freelists.org>
Delivered-To: 2-oracle-l@orafaq.com
Received: (qmail 23579 invoked from network); 6 Dec 2007 07:52:34 -0600
Received: from freelists-180.iquest.net (HELO turing.freelists.org) (206.53.239.180)
  by 69.64.49.119 with SMTP; 6 Dec 2007 07:52:30 -0600
Received: from localhost (localhost [127.0.0.1])
 by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 1363E7D4111;
 Thu,  6 Dec 2007 08:52:06 -0500 (EST)
Received: from turing.freelists.org ([127.0.0.1])
 by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 31758-04; Thu, 6 Dec 2007 08:52:05 -0500 (EST)
Received: from turing (localhost [127.0.0.1])
 by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 690F87D409A;
 Thu,  6 Dec 2007 08:52:05 -0500 (EST)
Received: with ECARTIS (v1.0.0; list oracle-l); Thu, 06 Dec 2007 08:49:57 -0500 (EST)
Received: from localhost (localhost [127.0.0.1])
 by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 316057D3F99
 for <oracle-l@freelists.org>; Thu,  6 Dec 2007 08:49:57 -0500 (EST)
Received: from turing.freelists.org ([127.0.0.1])
 by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 31097-06 for <oracle-l@freelists.org>;
 Thu, 6 Dec 2007 08:49:57 -0500 (EST)
Received: from outbound4-blu-R.bigfish.com (outbound-blu.frontbridge.com [65.55.251.16])
 by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id DC5997D3F96
 for <oracle-l@freelists.org>; Thu,  6 Dec 2007 08:49:56 -0500 (EST)
Received: from outbound4-blu.bigfish.com (localhost.localdomain [127.0.0.1])
 by outbound4-blu-R.bigfish.com (Postfix) with ESMTP id 522D116DC0D8
 for <oracle-l@freelists.org>; Thu,  6 Dec 2007 13:45:50 +0000 (UTC)
Received: from mail65-blu-R.bigfish.com (unknown [10.1.252.3])
 by outbound4-blu.bigfish.com (Postfix) with ESMTP id 07A38AF0051
 for <oracle-l@freelists.org>; Thu,  6 Dec 2007 13:45:49 +0000 (UTC)
Received: from mail65-blu (localhost.localdomain [127.0.0.1])
 by mail65-blu-R.bigfish.com (Postfix) with ESMTP id B62F5F905CB
 for <oracle-l@freelists.org>; Thu,  6 Dec 2007 13:45:49 +0000 (UTC)
X-BigFish: VP
X-MS-Exchange-Organization-Antispam-Report: OrigIP: 12.23.250.36;Service: EHS
Received: by mail65-blu (MessageSwitch) id 1196948749678009_25677; Thu,  6 Dec 2007 13:45:49 +0000 (UCT)
Received: from spobmexc02.adprod.directory (smtp.riverbarges.com [12.23.250.36])
 by mail65-blu.bigfish.com (Postfix) with ESMTP id 5F98517D00F6
 for <oracle-l@freelists.org>; Thu,  6 Dec 2007 13:45:49 +0000 (UTC)
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by Ecartis
Subject: RE: Help with SQL Tuning
Date: Thu, 6 Dec 2007 07:45:48 -0600
Message-ID: <17E4CDE8F84DC44A992E8C00767402E0860D94@spobmexc02.adprod.directory>
In-Reply-To: <17E4CDE8F84DC44A992E8C00767402E0860D93@spobmexc02.adprod.directory>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: Help with SQL Tuning
From: "Taylor, Chris David" <Chris.Taylor@ingrambarge.com>
To: "Oracle-L Freelists" <oracle-l@freelists.org>
X-archive-position: 3741
X-ecartis-version: Ecartis v1.0.0
Sender: oracle-l-bounce@freelists.org
Errors-to: oracle-l-bounce@freelists.org
X-original-sender: Chris.Taylor@ingrambarge.com
Precedence: normal
Reply-to: Chris.Taylor@ingrambarge.com
List-help: <mailto:ecartis@freelists.org?Subject=help>
List-unsubscribe: <oracle-l-request@freelists.org?Subject=unsubscribe>
List-software: Ecartis version 1.0.0
List-Id: oracle-l <oracle-l.freelists.org>
X-List-ID: oracle-l <oracle-l.freelists.org>
List-subscribe: <oracle-l-request@freelists.org?Subject=subscribe>
List-owner: <mailto:steve.adams@ixora.com.au>
List-post: <mailto:oracle-l@freelists.org>
List-archive: <http://www.freelists.org/archives/oracle-l>
X-list: oracle-l
X-Virus-Scanned: Debian amavisd-new at localhost.localdomain

Well there are a couple of things here if I'm not mistaken.

1.) Full table scans almost always use sequential file reads versus db file scattered reads
2.) Looks like lgncc_commoncaseview is a view. Look at the text that makes up the view and tune that.  If you need more help/suggestions you'll need to supply the text of the view.

Thanks,

Chris Taylor
Sr. Oracle DBA
Ingram Barge Company
Nashville, TN 37205
Office: 615-517-3355
Cell: 615-354-4799
Email: chris.taylor@ingrambarge.com

-----Original Message-----
From: oracle-l-bounce@freelists.org [mailto:oracle-l-bounce@freelists.org] On Behalf Of Ronnie Doggart
Sent: Thursday, December 06, 2007 7:35 AM
To: oracle-l@freelists.org
Subject: Help with SQL Tuning

Hi All,

I have a problem with a customer database and performance. I have ran statspack and identified the worst performing SQL statement, but have run out of ideas on how to get the SQL to perform better. The query is from an application and so cannot be changed. Why are we doing so many 'DB File Sequential Reads' when the hash join is doing full table accesses ?

TKprof output:


select * from lgncc_commoncaseview where
clientid = :b1 and
clienttype = :b2 and (1=1)
union
select * from lgncc_commoncaseview where
xref1 = :b3 and
objecttype = :b4 and (1=1)

 

call     count       cpu    elapsed       disk      query    current      
rows

------- ------  -------- ---------- ---------- ---------- ---------- ----------

Parse        1      0.00       0.00          0          0          0           0
Execute      1      0.00       0.00          0          0          0           0
Fetch        2      4.49      34.89       1787      21664          0           2

------- ------  -------- ---------- ---------- ---------- ----------  ----------

total        4      4.49      34.90       1787      21664          0           2

 

Misses in library cache during parse: 0

Optimizer goal: CHOOSE

Parsing user id: 64

 

Rows     Row Source Operation

-------  ---------------------------------------------------

      2  SORT UNIQUE

      2   UNION-ALL

      1    NESTED LOOPS

      1     HASH JOIN

      4      TABLE ACCESS BY INDEX ROWID OBJ#(35867)

      4       INDEX RANGE SCAN OBJ#(38739) (object id 38739)

 117901      HASH JOIN OUTER

 117901       TABLE ACCESS FULL OBJ#(35878) (lgncc_enquiry)

1475502       TABLE ACCESS FULL OBJ#(35880)  (lgncc_enquiryrelation)

      1     TABLE ACCESS BY INDEX ROWID OBJ#(35873)

      1      INDEX UNIQUE SCAN OBJ#(35874) (object id 35874)

      1    NESTED LOOPS OUTER

      1     NESTED LOOPS OUTER

      1      NESTED LOOPS

      1       TABLE ACCESS BY INDEX ROWID OBJ#(35878)

      1        INDEX RANGE SCAN OBJ#(38738) (object id 38738)

      1       TABLE ACCESS BY INDEX ROWID OBJ#(35873)

      1        INDEX UNIQUE SCAN OBJ#(35874) (object id 35874)

      1      INDEX RANGE SCAN OBJ#(38516) (object id 38516)

      1     TABLE ACCESS BY INDEX ROWID OBJ#(35867)

      1      INDEX UNIQUE SCAN OBJ#(35868) (object id 35868)

 

 

Elapsed times include waiting on following events:

  Event waited on                             Times   Max. Wait  Total Waited

  ----------------------------------------   Waited  ----------  ------------

  SQL*Net message to client                       2        0.00           0.00

  db file sequential read                      1382        0.17          16.42

  db file scattered read                        175        0.10           3.45

  latch free                                      6        0.01           0.01

  buffer busy waits                            1137        0.08          11.15

  SQL*Net more data to client                     1        0.00           0.00

  SQL*Net message from client                     2        6.89           6.89

 

 

 

Lgncc_CommonCaseview Definition

SELECT
-- [ID]
  ENQUIRY.ID                AS REFERENCE,
  0                         AS TYPE,
-- [DESCRIPTION]
  ENQUIRY.TITLE             AS LINE1,
  TYPE.NAME                   AS LINE2,
-- [CASE]
  ENQUIRY.CASEID            AS CASEID,
  ENQUIRY.CASEREF           AS RELATEDCASE,
  ENQUIRY.ENQUIRYTYPE       AS ENQUIRYTYPE,
  ENQUIRY.OBJECTTYPE        AS OBJECTTYPE,
  ENQUIRY.XREF1             AS XREF1,
  ENQUIRY.XREF2             AS XREF2,
  ENQUIRY.XREF3             AS XREF3,
  ENQUIRY.OBJECTDESC        AS OBJECTDESC,
-- [INTERACTION]
  INT.CLIENTTYPE            AS CLIENTTYPE,
  INT.CLIENTID              AS CLIENTID,
  INT.CLIENTNAME            AS CLIENTNAME,
  INT.LOGID                 AS INTERACTIONID,
  INT.INTREF                AS INTERACTIONREF,
  INT.VERIFIED              AS INTERACTIONVERIFIED,
  nvl(INT.INITCHANNEL, -1)  AS INTERACTIONCHANNEL,
  INT.REFERENCE             AS INTERACTIONREFERENCE,
  INT.STARTTIME             AS INTERACTIONDATE,
-- [STATUS]
  NULL                          AS TARGETDATE,
  ENQUIRY.STATUS            AS STATUS,
-- [AUDIT]
  ENQUIRY.CREATIONDATE      AS CREATIONDATE,
  ENQUIRY.SOURCEID          AS CREATEDBY,
  ENQUIRY.CREATIONDATE      AS MODIFIEDDATE,
  NULL                      AS MODIFIEDBY
FROM
    LGNCC_ENQUIRY ENQUIRY
    INNER JOIN LGNCC_ENQUIRYTYPE TYPE ON ENQUIRY.ENQUIRYTYPE = TYPE.ID
    LEFT OUTER JOIN LGNCC_ENQUIRYRELATION REL ON ENQUIRY.ID = REL.ENQUIRYID AND REL.RELATION = 1
    LEFT OUTER JOIN LGNCC_INTLOGHDR INT ON INT.LOGID = REL.INTERACTIONID
    WHERE ENQUIRY.CASEREF IS NOT NULL AND ENQUIRY.DELETEDDATE IS NULL



Ronnie Doggart

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




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


