Re: Table with 300 columns (ie > 255) : Row Chaining ?


Thanks Tanel and

I have some interesting findings when I retrieve a single row from a table with >255 columns (348 columns). For the table definition in my test case, if I fetch the 95th column or lower, I see 1 "consistent gets" against the table. If I fetch the 96th column or higher (from the *same* row), I see 2 "consistent gets" .

See http://hemantoracledba.blogspot.com/2009/10/some-testing-on-intra-block-row.html

I cannot yet conclude if the row is split into two pieces at the 96th column. I have tried with columns of 5 characters (3 characters filled) and 15 characters (13 characters filled), with 8KB blocks and 16KB block.

Hemant K Chitale

 Tanel Poder wrote:
If all row pieces fit into the same block (where the initial row piece is written) then you'll have intra-block chaining. Basically chained rows, where the "next row piece" pointer bytes will point into another row in the same block. If they don't fit, then you have regular row chaining, into other blocks too.


--
Tanel Poder
<http://blog.tanelpoder.com>http://blog.tanelpoder.com


On Thu, Oct 8, 2009 at 6:08 PM, Hemant K Chitale <<mailto:hkchital@xxxxxxxxxxxxxx>hkchital@xxxxxxxxxxxxxx> wrote:


Is there a MetaLink note that explains how Oracle handles INSERTs into a table with more than 255 columns ? Is it broken into 2 row pieces ? Does Oracle write the pieces into separate blocks even if, say, the row length is less than 7000 bytes ? If the row length is less than 3900 bytes ?



Hemant K Chitale

http://hemantoracledba.blogspot.com





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


Other related posts: