RE: TKPROF output

From: Bobak, Mark <Mark.Bobak_at_proquest.com>
Date: Wed, 30 Mar 2011 15:57:46 -0400
Message-ID: <6AFC12B9BFCDEA45B7274C534738067F69C95249_at_AAPQMAILBX02V.proque.st>



'Fetch' is a database call. When you execute the SQL statement, you'll do a 'parse', an 'execute' and then one or more 'fetch' calls.

Depending on the array size (which is defined and controlled on the client side only), and the number of rows you have to return, will control how many fetch calls you do.

In your case, you retrieved 164,741 rows in 27,457 fetches. That's 6 rows/fetch, so, your array size was 6. If you increase the size of your array, you'll do less fetches, and probably accrue significantly less SQL*Net waits, because you'll do a lot less round trips.

Hope that helps,

-Mark

From: oracle-l-bounce_at_freelists.org [mailto:oracle-l-bounce_at_freelists.org] On Behalf Of lyallbarbour_at_sanfranmail.com Sent: Wednesday, March 30, 2011 2:55 PM
To: oracle-l_at_freelists.org
Subject: TKPROF output

Trying to understand Fetch in a TKPROF output. We have an application on Oracle Apps Server 10.1 Database 10.2.0.4 On production, a specific query runs in about 3 seconds. On this new database server we created, it runs about 30 secs. Looks like the query does the same thing in the database, but we have a ton of SQL*Net message waits on the query below. What are Fetches? What are reasons why waits for SQL*Net messaging happens that relate to Fetches? See below...

Here it is:
SELECT ROWID,SCRAP_ID,TX_ID,SHIFT_ID,ON_TX_ID,SCRAP_COMP_CODE,WEIGHT_UOM,   DEPT_CODE,INV_COMP_CODE,INV_ITEM_CODE,SCRAP_CODE,TYPE,CUST_NUM,PART,   QUANTITY,LENGTH,SCRAP_WEIGHT,TX_START_DT,RESPONSIBILITY_CODE,DEFECT_CODE,   NOTES
FROM
 ST_PRODTX_SCRAP WHERE (WEIGHT_UOM=: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    27457      0.91       0.90          0      29757          0      164741

------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 27459 0.91 0.90 0 29757 0 164741

Misses in library cache during parse: 1
Misses in library cache during execute: 1 Optimizer mode: ALL_ROWS
Parsing user id: 677 (LBARBOUR)

Rows Row Source Operation
------- ---------------------------------------------------
 164741 TABLE ACCESS FULL ST_PRODTX_SCRAP (cr=29757 pr=0 pw=0 time=165118 us)

Rows Execution Plan
------- ---------------------------------------------------

      0 SELECT STATEMENT MODE: ALL_ROWS  164741 TABLE ACCESS MODE: ANALYZED (FULL) OF 'ST_PRODTX_SCRAP' (TABLE) Elapsed times include waiting on following events:

  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  SQL*Net message to client                   27457        0.00          0.01
  SQL*Net message from client                 27457        1.07        100.33



--

http://www.freelists.org/webpage/oracle-l Received on Wed Mar 30 2011 - 14:57:46 CDT

Original text of this message