Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Inserts and row chaining
As posted in the misc ng, only updates can cause row chaining. Oracle will not insert a row into a block if the insert would cause the PCTFREE parameter to be exceeded. If you think about it, this is the only way it would really work anyway.
ZEITGEIST wrote:
>
> Greetings all -
>
> I posted this in comp.databases.oracle.misc, but I think it is more
> appropriate in this group. I apologize for the cross-posting.
>
> I am aware of PCTFREE's function in regards to saving space for UPDATEs,
> but I am unable to determine via Oracle docs or O'Reilly's performance
> book what exactly happens with INSERTs.
>
> A co-worker insists that Oracle just keeps inserting bytes until PCTFREE
> is reached, at which point it continues writing the row into another data
> block. I thought Oracle might check to see if the row could be INSERTed
> and, if not, take that block off the free list. Does it then attempt
> to find a less-populated block that can hold the entire row ? I realize
> with LONGs and LONG RAWs, it would never find such a case.
>
> However, I would think that just inserting bytes until PCTFREE was
> reached (and then continuing in another block) would result in a ton of
> chained rows. What am I missing ? I performed a small test and
> my INSERT statements did not create any chained rows.
>
> Thanks in advance for any assistance.
>
> Brett Cunningham
> zgeist_at_ee.net
-- --- Allen Kirby AT&T ITS Production Services akirby_at_att.com Alpharetta, GA.Received on Thu Jan 16 1997 - 00:00:00 CST