RE: how to determine number of chained rows

From: Tefft, Michael J <Michael.J.Tefft_at_snapon.com>
Date: Wed, 17 Apr 2013 15:22:44 +0000
Message-ID: <8CA507E7F87805479C5C3DF54AA713A7BF87D7_at_LISL-XMBS-13-PP.snaponglobal.com>



You can also use the Segment Advisor.
http://docs.oracle.com/cd/E11882_01/server.112/e25494/schema003.htm#sthref2054

-----Original Message-----
From: oracle-l-bounce_at_freelists.org [mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Jeffrey Beckstrom Sent: Wednesday, April 17, 2013 8:49 AM
To: tanel_at_tanelpoder.com
Cc: oracle-l-freelists; oracle-db-l
Subject: Re: how to determine number of chained rows

Thanks that did it w/out creating a lot of rollback.
>>> Tanel Poder <tanel_at_tanelpoder.com> 4/15/13 5:06 PM >>>
One way to estimate the impact of chained rows is to just look into the "table fetch continued row" statistic - you can run your query/workload and measure this metric from v$sesstat (with snapper for example). And one more way to estimate the total number of chained pieces would be to run something like SELECT /*+ FULL(t) */ MIN(last_col) FROM t and see how much the "table fetch continued row" metric increases throughout the full table scan. The last_col would be the (physical) last column of the table. Note that if your wide row is chained into let's say 4 pieces, then you'd see the metric increase by 3 for a row where 4th row piece had to be fetched.

I've written about this here:

http://blog.tanelpoder.com/2009/11/04/detect-chained-and-migrated-rows-in-oracle/

--
*Tanel Poder*
Enkitec (The Exadata Experts)
Training <http://blog.tanelpoder.com/seminar/> | Troubleshooting<http://blog.tanelpoder.com/>
| Exadata<http://www.amazon.com/Expert-Oracle-Exadata-Apress/dp/14302339
| 23>
| Voicee App <http://voic.ee/>


On Mon, Apr 15, 2013 at 5:57 PM, Jeffrey Beckstrom <JBECKSTROM_at_gcrta.org>wrote:


> DBMS_STATS does not compute number of chained rows.
> analyze table x list chained rows - this does but if the table is
> large and has lots of chained rows, then need a lot of rollback space
> for rows inserted into the chained_rows table.
>
> Is there another way to just get a count of chained rows?
>
>
> Jeffrey Beckstrom
> Database Administrator
> Greater Cleveland Regional Transit Authority Information Systems
> 1240 W. 6th Street
> Cleveland, Ohio 44113
>
> --
> http://www.freelists.org/webpage/oracle-l
>
>
>
-- http://www.freelists.org/webpage/oracle-l -- http://www.freelists.org/webpage/oracle-l -- http://www.freelists.org/webpage/oracle-l
Received on Wed Apr 17 2013 - 17:22:44 CEST

Original text of this message