Re: Table with 300 columns (ie > 255) : Row Chaining ?
Date: Tue, 20 Oct 2009 15:42:33 -0700
Message-ID: <2ead3a60910201542u32441b74p789e740978f1a104_at_mail.gmail.com>
Hi Hemant,
> Your test table has 350 columns. A row piece can store at most 255
> columns. As a result, you have two row pieces: one with 255 columns and
> another with 95 (350-255) columns. As I wrote in my previous reply, the
> pieces are split and stored in "reverse order". That means two things:
> 1) the first row piece is the one having 95 columns 2) the first row
> piece is stored after the second one.
Just to add to this discussion, the answer is in the Concepts manual (10gR2 Concepts - Chapter 5 Schema Objects):
When a table has more than 255 columns, rows that have data after the 255th column are likely to be chained within the same block. This is called intra-block chaining. A chained row�s pieces are chained together using the rowids of the pieces. With intra-block chaining, users receive all the data in the same block. If the row fits in the block, users do not see an effect in I/O performance, because no extra I/O operation is required to retrieve the rest of the row.
-- John Kanagaraj <>< http://www.linkedin.com/in/johnkanagaraj http://jkanagaraj.wordpress.com (Sorry - not an Oracle blog!) ** The opinions and facts contained in this message are entirely mine and do not reflect those of my employer or customers ** -- http://www.freelists.org/webpage/oracle-lReceived on Tue Oct 20 2009 - 17:42:33 CDT